2011-12-23 7 views
0

class Aclass Bの場合、ABより多くのプロパティを持つことができます。Javaは、親タイプよりもLESSプロパティを持つタイプの作成をサポートしていますか?

class Aclass Bから抽出したものは?次に、class Aは、プロパティのサブセットがclass Bにしかなりません。

これはいくつかのケースでは便利だと思います。

+5

とにかく質問は何ですか? –

+1

継承は、一般化とスペシャライゼーションの2つの方法で機能します。多くの同様の既存のオブジェクトが組み合わされてそのサブクラスの仕事を行うスーパークラスを形成するならば、それは一般化として知られているが、いくつかの新しいサブクラスが既存のスーパークラスから作成されてスーパークラスの特定の仕事を行う場合、専門化。 話題は一般化です。すなわち、AはクラスBから抽出されます。これは、抽象クラスまたはインターフェイスの助けを借りて実現できます。 – Anand

+1

あなたが意味するものを表現し、 "クラスA" 「クラスB」から? ** "抽出された" **の意味は何ですか?そのようなJavaの用語について聞いたことはありません。 – Lion

答えて

1

説明の解釈は、polymorphism(コードを参照)です。しかし、の意味では、の能力の低いBからのクラスは、javaの言語機能ではありません。

public class A { 
    public int x = 5; 
} 

public class B extends A { 
    public int y = 10; 
} 

... 

B b = new B(); // Behaves like a B object should 
System.out.println(b.y); // works 
A a = (A)b; // Cast it to a parent class 
System.out.println(a.y); // fails 
+0

+1は質問に答えるためのものです。興味深いのは、エッフェルのようないくつかの言語では、この種の構造が許されているということです。しかし、エッフェルは多態性を実装する方法について別の考えを持っています:) –

関連する問題