2011-08-27 13 views

答えて

7

を働く、あなたはBのインスタンスがないだけBであることを指定し、彼らはまた、Aです。これはOOPでinheritanceと呼ばれます。継承の力は、一般的なプロパティ/ビヘイビアを共通のクラスに抽象化してから、そこから特殊なクラスを派生させることにあります。特殊なクラスは、既存の機能(オーバーライドと呼ばれる)を変更したり、新しい機能を追加することができます。

ただし、継承は両方向ではなく一方向でのみ機能します。 B (多くの場合!)にAより多くの機能を含むため、クラスAのオブジェクトはBとして扱うことはできません。つまり、具体的にはB、より一般的にはAです。

したがって、あなたはそれが

17

これは単に継承が機能するためです。女性または男性は人であり、最終的にはベースクラスPersonに性別のようなものを追加します。

あなたが宣言した場合:あなたはなし性別を持つ男だより

Man m = new Person() 

すべての人も人であるため、他の方法は、Aから派生させ;-)

+3

+1素敵で簡単な説明 –

1

を行うことができますAはビルドのベースとして、ベースに基づいて新しいフロアを構築できます。しかし、床を使用することは基本を構築することができません。

1

AがベースですがBに等しい新しいAを作成カントので、あなたがA. からBを得、B < AのでA a = new B();なくB b = new A();

関連する問題