問題タブ [constructor-chaining]

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.

0 投票する
7 に答える
3873 参照

c# - : C# コンストラクターの this(foo) 構文?

ときどき、見たことはあっても使ったことのない構文に出くわします。これはそれらの時間の 1 つです。

C#コンストラクターメソッドに続く「:this」または「:base」の目的を誰かが説明できますか?

例えば:

私の直感では、デフォルト引数を別のコンストラクター メソッドにマップするために使用されます。

0 投票する
3 に答える
358 参照

c# - 空の本体と継承のような構文を持つコンストラクターは何をしますか?

0 投票する
7 に答える
20397 参照

c# - このコロン(:)はどういう意味ですか?

thisキーワードの前はコロンです。この文脈でコロンが何を意味するのか誰かが説明できますか?これが相続だとは思わない。

ありがとう

0 投票する
7 に答える
420 参照

c# - C# コードは何をしているのか:

次のコードでは:

最初のコンストラクターの使用は何ですか?

0 投票する
9 に答える
166896 参照

c# - C#でコンストラクターチェーンを行う方法

これはおそらく非常に単純な質問であることを私は知っていますが、私はしばらくの間その概念に苦労してきました。

私の質問は、C#でコンストラクターをどのようにチェーンするかです。

私は最初のOOPクラスにいるので、ただ学んでいます。コンストラクターの連鎖がどのように機能するのか、それを実装する方法、さらには連鎖せずにコンストラクターを実行するよりも優れている理由さえわかりません。

説明付きの例をいくつかいただければ幸いです。

では、どのようにそれらを連鎖させるのでしょうか?
私はそれが行くことを2つ知っています:

しかし、3、4などでどのようにそれを行いますか?

繰り返しになりますが、これが初心者の質問であることは知っていますが、これを理解するのに苦労していて、理由がわかりません。

0 投票する
4 に答える
313 参照

c# - これらのコンストラクターをチェーンする方法 (C#)?

コンストラクターを連鎖させるという概念を理解しているところですが、これら 2 つの特定のコンストラクターを連鎖させる方法がわかりません。誰かが私を助けてくれれば幸いです。

ありがとう!

コンストラクター

0 投票する
4 に答える
14033 参照

c# - パラメーター化されたコンストラクターからの既定のコンストラクターの呼び出し

デフォルトのコンストラクターで、コード スニペットに示されているすべてのオブジェクトを作成および初期化したいと考えています。次に、パラメーター化されたコンストラクターがデフォルトのコンストラクターを呼び出して、これらのオブジェクトを作成および初期化し、NullReferenceException を取得せずにパラメーター化されたコンストラクターで使用できるようにします。

この状況では、コンストラクターを使用する最善の (最も効率的で、コードが少ないなどの) 方法が何であるかはよくわかりません。コンストラクターチェーンを使用することをお勧めします。

繰り返しますが、私はコンストラクターについて非常に基本的な理解を持っているので、これが不可能な場合は、そのように言ってください。また、この状況で何をするかを教えてください。

0 投票する
3 に答える
662 参照

c# - コンストラクターチェーンを使用してこの構築を実現する適切な方法は?

私は最初のOOPクラスの割り当てを持っており、次のステートメントを含むすべてを理解しています。

ComplexNumberというクラスを作成する必要があります。このクラスには、doubleとして定義されたプライベートデータメンバーの複素数の実数部と虚数部が含まれます。クラスには、虚数のデータメンバーをコンストラクターのパラメーターとして指定できるようにするコンストラクターが含まれている必要があります。デフォルトの(パラメーター化されていない)コンストラクターは、データメンバーを0.0に初期化する必要があります。

もちろん、これらのコンストラクターをチェーン化せずに作成する方法を知っています。割り当てではチェーン化する必要はありませんが、好きなように作成したいと思います。

それらをチェーン化しないと、コンストラクターは次のようになります。

0 投票する
8 に答える
65550 参照

c# - C# コンストラクターの実行順序

C# では、

クラスのコンストラクターが最初に実行され、次にスーパークラスのコンストラクターが呼び出されますか、それとも基本コンストラクターが最初に呼び出されますか?

0 投票する
4 に答える
1762 参照

c# - オーバーロードされたコンストラクター チェーン

元の質問

次のシナリオを検討してください。

それらの間でコードの重複がないように、構築を連鎖させるよりエレガントな手段はありますか? この例では、コードを複製して、Bar.Amountプロパティの値を2 番目のコンストラクターのamountパラメーターの値に設定する必要があります。クラス内の変数の数が増えると、構築のための順列が非常に複雑になる可能性があります。それはちょっと面白いにおいがします。

この問題に関する検索の最初の数ページをふるいにかけましたが、具体的な結果は得られませんでした。これが古い帽子だったらごめんなさい。

前もって感謝します。

アップデート

それで、私はそれについて後ろ向きに考えていました、そして以下が私のアプローチであるべきです:

返信ありがとうございます。