ここでsuper
に電話する必要があるのはなぜですか?なぜ子クラスのコンストラクタで 'super()'を呼び出すのですか?
-4
A
答えて
1
デフォルトでは、デフォルトのコンストラクタ、つまりパラメータ化されていないコンストラクタを持つすべてのクラスで、コンストラクタを定義するとデフォルトの動作は機能しません。
他のクラスが他のクラスを拡張している場合、デフォルトでは子クラスの各コンストラクタはその内部のデフォルトのコンストラクタ、つまりsuper()を呼び出しますが、パラメータ化されたconstuctorを親クラスに宣言すると、子クラスのコンストラクタを明示的にsuper(パラメータ...)
1
親コンストラクタに引数がない場合、理由はありません。それ以外の場合は、これらのパラメータを設定できるsuper(...)を明示的に呼び出す必要があります。
関連する問題
- 1. コンストラクタでsuper()を呼び出す理由
- 2. Reactコンストラクタでsuper()を呼び出すのは何ですか?
- 3. スーパークラスのコンストラクタを呼び出す子クラス
- 4. なぜ "foo f();"クラス "foo"のコンストラクタを呼び出しますか?
- 5. なぜ私は基本クラスのコンストラクタを呼び出せないのですか?
- 6. オーバーロードメソッドでdefine_methodでsuperを呼び出せないのはなぜですか?
- 7. typescript内のコンストラクタ()内でsuper()を呼び出せません
- 8. コンストラクタが呼び出されないのはなぜですか?
- 9. なぜコンストラクタが呼び出されないのですか?
- 10. コンストラクタが呼び出されないのはなぜですか?
- 11. 代入演算子の呼び出しコンストラクタはなぜですか?
- 12. 基本クラスのコンストラクタを呼び出す派生クラスのコンストラクタ
- 13. 別のクラスの中でクラスのコンストラクタを呼び出す
- 14. 入れ子クラスのコンストラクタを呼び出す方法
- 15. コンストラクタでクラスメンバのコンストラクタを呼び出す
- 16. なぜ継承されたクラスから基本クラスのコンストラクタを呼び出すのですか
- 17. クラス内でグローバルな別のコンストラクタを呼び出す
- 18. Objective-Cカテゴリで `super`を呼び出す
- 19. sails.jsコントローラでsuperメソッドを呼び出す
- 20. 派生クラスのコンストラクタの内部で基本クラスのコンストラクタを呼び出すC++
- 21. 内部クラス内でoutterクラスのコンストラクタを呼び出す方法
- 22. 子コンストラクタ内で親コンストラクタを呼び出す
- 23. Pythonのカスタムエラークラスでsuperを呼び出すポイントは何ですか?
- 24. iOS:UIViewサブクラスのinitは[super init]を呼び出し、スーパークラスのメソッドを呼び出します。なぜ[subclass initWithFrame:xx]を呼び出すのですか?
- 25. 異なるクラスのPythonからコンストラクタを呼び出す
- 26. なぜ基本クラスのコンストラクタが最初に呼び出しますか?
- 27. クラスが呼び出されないのはなぜですか?
- 28. なぜstd :: vector :: emplaceは、どのコンストラクタも呼び出さずにデストラクタを呼び出すのですか?
- 29. なぜC++でポストインクリメント演算子のオーバーロードがコンストラクタを2回呼び出すのですか?
- 30. 親クラスと子クラスの静的コンストラクタはどのような順序で呼び出されますか?
コンストラクタを提供する場合、コンパイラは**デフォルトのコンストラクタ**を挿入しないため、したがって、 'Animal'には空のコンストラクタはありません。 –