4
A
答えて
7
を働く、あなたはB
のインスタンスがないだけB
であることを指定し、彼らはまた、A
です。これはOOPでinheritanceと呼ばれます。継承の力は、一般的なプロパティ/ビヘイビアを共通のクラスに抽象化してから、そこから特殊なクラスを派生させることにあります。特殊なクラスは、既存の機能(オーバーライドと呼ばれる)を変更したり、新しい機能を追加することができます。
ただし、継承は両方向ではなく一方向でのみ機能します。 B が(多くの場合!)にA
より多くの機能を含むため、クラスA
のオブジェクトはB
として扱うことはできません。つまり、具体的にはB
、より一般的にはA
です。
したがって、あなたはそれが
17
これは単に継承が機能するためです。女性または男性は人であり、最終的にはベースクラスPersonに性別のようなものを追加します。
あなたが宣言した場合:あなたはなし性別を持つ男だより
Man m = new Person()
。
すべての人も人であるため、他の方法は、A
から派生させ;-)
1
を行うことができますAはビルドのベースとして、ベースに基づいて新しいフロアを構築できます。しかし、床を使用することは基本を構築することができません。
1
AがベースですがBに等しい新しいAを作成カントので、あなたがA. からBを得、B < AのでA a = new B();
なくB b = new A();
関連する問題
- 1. 基本クラスの派生オブジェクトの参照
- 2. 派生クラスのポインタへの基本クラスの参照
- 3. 基本クラスにアクセスできない派生クラスのXmlInclude?
- 4. 派生クラスの基本クラスメンバを参照してください
- 5. 基本オブジェクトを指す派生クラス参照を作成できますか
- 6. 派生クラスのXMLドキュメントのコメントタグ内から、基本クラスのアクセシブルなメンバーを参照できないのはなぜですか?
- 7. 多相派生クラスを基本クラス内にネストできないのはなぜですか?
- 8. 基本クラスのweak_ptrですが、shared_ptrは派生クラスですか?
- 9. 派生クラスの基本クラスの属性を参照する方法は?
- 10. 利用派生クラス派生クラスは、基本クラス
- 11. 派生クラスで基本クラス演算子=(代入演算子)を使用しないのはなぜですか?
- 12. 派生クラスへの基本クラスのキャスト
- 13. 基本クラスと派生クラスのコンストラクタ
- 14. 派生オブジェクトへのC#基本クラスの参照ポイントは、より良いまたは派生クラス独自のオブジェクトが良いです
- 15. 基本クラスのデータメンバーを派生クラスから変更できますか?
- 16. 基本クラスは抽象クラスであり、派生クラスも抽象クラスです。
- 17. ビジュアルベーシックで基本クラスと派生クラスを使用する
- 18. 抽象クラスから派生し、派生クラスのみを参照する
- 19. 基本クラスの派生クラスオブジェクトを使用
- 20. 派生クラスで基本クラスのtypedefを使用
- 21. g ++基本クラスのデストラクタと派生クラスポインタへの未定義の参照
- 22. 基本クラスから派生クラスポインタへのstatic_castが無効です
- 23. 派生クラスから基本クラスの実装を呼び出す?
- 24. この派生クラスが基本クラスと異なる動作をする理由
- 25. は、基本クラスのオブジェクトを参照するために、派生クラスの変数を作成
- 26. は、私は、以下の基本クラスを持つ派生クラス
- 27. なぜ私は複数のクラスから派生できないのですか?
- 28. 基本クラスから派生クラス名を取得する方法
- 29. 基本クラスからのポインタを持つC++アクセス派生クラス
- 30. 派生クラスを基本クラスにシリアル化する方法は?
+1素敵で簡単な説明 –