class A
がclass B
の場合、A
はB
より多くのプロパティを持つことができます。Javaは、親タイプよりもLESSプロパティを持つタイプの作成をサポートしていますか?
約class A
class B
から抽出したものは?次に、class A
は、プロパティのサブセットがclass B
にしかなりません。
これはいくつかのケースでは便利だと思います。
class A
がclass B
の場合、A
はB
より多くのプロパティを持つことができます。Javaは、親タイプよりもLESSプロパティを持つタイプの作成をサポートしていますか?
約class A
class B
から抽出したものは?次に、class A
は、プロパティのサブセットがclass B
にしかなりません。
これはいくつかのケースでは便利だと思います。
説明の解釈は、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
+1は質問に答えるためのものです。興味深いのは、エッフェルのようないくつかの言語では、この種の構造が許されているということです。しかし、エッフェルは多態性を実装する方法について別の考えを持っています:) –
とにかく質問は何ですか? –
継承は、一般化とスペシャライゼーションの2つの方法で機能します。多くの同様の既存のオブジェクトが組み合わされてそのサブクラスの仕事を行うスーパークラスを形成するならば、それは一般化として知られているが、いくつかの新しいサブクラスが既存のスーパークラスから作成されてスーパークラスの特定の仕事を行う場合、専門化。 話題は一般化です。すなわち、AはクラスBから抽出されます。これは、抽象クラスまたはインターフェイスの助けを借りて実現できます。 – Anand
あなたが意味するものを表現し、 "クラスA" 「クラスB」から? ** "抽出された" **の意味は何ですか?そのようなJavaの用語について聞いたことはありません。 – Lion