問題タブ [constructor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - コンストラクターで長い操作を行うのは悪い設計と見なされますか?
ディレクトリ ツリーを比較するクラスを実装しています (C#)。最初に、クラスのコンストラクターで実際の比較を実装しました。このような:
しかし、コンストラクターで長時間の操作を実行するのは「適切」ではありません。別の方法は、コンストラクターをプライベートにして、次のような静的メソッドを追加することです。
どう思いますか?コンストラクターが「速い」ことを期待していますか? 2 番目の例の方が優れていますか、それともクラスの使用法が複雑になっているだけですか?
ところで:
正しい答えはないと思うので、好みと好みだけで、答えを受け入れたものとしてマークしません。
編集:
私の例を少し明確にするために。ディレクトリが異なるかどうかだけでなく、それらがどのように異なるか (どのファイル) にも興味があります。したがって、単純な int 戻り値では十分ではありません。cdragon76.myopenid.com による回答は、実際には私が望むものにかなり近いものです (+1)。
c++ - 抽象基本クラスがインターフェイスの場合、派生クラス コンストラクターで基本クラス コンストラクターを呼び出す必要がありますか?
派生クラスのコンストラクターで基本コンストラクターを呼び出す必要がありますか?
c++ - プライベートコンストラクターからの参照メンバーを使用してクラスを初期化するにはどうすればよいですか?
クラスのインターフェイスラッパーを作成しています。クラス内のメンバーは参照です(大きな構造体のコピーを避けるため)。プライベートコンストラクターを作成する場合、コンパイラーをなだめるためにその参照を初期化する最良の方法は何ですか?
java - Javaであるコンストラクターを別のコンストラクターから呼び出すにはどうすればよいですか?
別のコンストラクターを呼び出すことは可能ですか (サブクラスからではなく、同じクラス内で)? はいの場合、どのように?そして、別のコンストラクターを呼び出す最良の方法は何ですか (それを行う方法がいくつかある場合)?
oop - コンストラクターでどのくらいの作業を行う必要がありますか?
時間がかかる可能性がある操作をコンストラクターで実行する必要があるか、オブジェクトを構築して後で初期化する必要があります。
たとえば、ディレクトリ構造を表すオブジェクトを構築する場合、オブジェクトとその子の作成はコンストラクターで行う必要があります。明らかに、ディレクトリにはディレクトリを含めることができ、ディレクトリにはディレクトリなどを含めることができます。
これに対するエレガントな解決策は何ですか?
c++ - グローバルオブジェクト、オブジェクトの配列、およびクラス/構造体内のオブジェクトのコンストラクターをどのように呼び出しますか?
グローバル オブジェクト、オブジェクトの配列、および別のクラス/構造体に含まれるオブジェクトの 3 つの状況で、次のクラスのコンストラクターをどのように呼び出しますか?
コンストラクターを持つクラス (3 つの例すべてで使用):
そして、このコンストラクターを呼び出す私の試みは次のとおりです。
グローバル オブジェクト
オブジェクトの配列
そこで、配列のすべての要素に対してコンストラクターを呼び出そうとしていますが、個々の要素に対してコンストラクターを呼び出す方法も知りたいです。
クラス/構造体に含まれるオブジェクト
c# - C# メンバー変数の初期化。ベストプラクティス?
宣言時にクラスメンバー変数を初期化する方が良いですか
またはデフォルトのコンストラクターで?
それは単にスタイルの問題ですか、それともパフォーマンスのトレードオフがありますか?
constructor - DDD +パブリックパラメーターレスコンストラクター-それらは存在する必要がありますか?
DDDのテナントの1つは、オブジェクトが無効な状態にならないようにすることです。私にとってこれは、99%の確率で無効な状態のオブジェクトになるため、パブリックパラメーターのないコンストラクターがあってはならないことを意味します。
これは前進するための良い方法ですか?クラスをすぐに新しくしたいだけの場合、それは巨大なPITAになります。
c++ - C++ でインスタンス化されたオブジェクトのクラス コンストラクターを明示的に呼び出すことはできますか?
クラスのインスタンスを作成した後、コンストラクターを明示的に呼び出すことができますか? 例えば
これはできますか?