2016-11-27 24 views
0

特に、継承を使用する場合は、次のように新しいオブジェクトをインスタンス化するための参照をいくつか見てきました。左右のクラス名が異なるオブジェクトを作成する

Cat cat = new Animal(); 

しかし、私はこの概念がどのように呼ばれているのかわかりません。それで、私はそれを読むことができません。

私には2つの質問があります。

  1. この概念は何と呼ばれていますか?
  2. どのようにして 元のクラスと異なるタイプを使用してオブジェクトを保持/参照できるのですか?

答えて

0

遊びの基本的な考え方は、の継承です。それについて読んで開始するには良い場所がhttps://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html

あなたの一例を—逆転され、それはCatクラスがAnimalにするために必要なすべてのものを持っAnimal —の特定の種類になりますので、これはある

Animal animal = new Cat(); 

する必要がありますオブジェクト、いくつかの追加機能猫のオブジェクトは、親動物からgetSound()方法を持っているので、結果は

ニャー

だろう

public class Test 
{ 
    public static class Animal 
    { 
     protected String sound; 
     public String getSound() { return sound; } 
     public Animal() { sound = ""; } 
    } 

    public static class Cat extends Animal 
    { 
     public Cat() { sound = "meow"; } 
    } 

    public static void main(String[] args) { 
     Animal animal = new Cat(); 
     System.out.println(animal.getSound()); 
    } 
} 

そして:コードで

、これは次のようになり独自のコンストラクタを使用して作成され、データを適切に設定しました。

0
  1. オブジェクト指向プログラミングの世界では、この概念を継承と呼びます。
  2. 子のオブジェクトを親の参照に割り当てることができます。 Err、too techie、ねえ?だからこのようにして、Catは一種のAnimalですが、その逆は必ずしも真実ではありません。 したがって、Animalは、Cat,Dogなどである可能性があります。猫や犬は動物の特性を持つためです。これは一般化と専門化とも呼ばれます。 Animalは一般化されたカテゴリですが、CatAnimalの特殊カテゴリです。

インターネット上で利用できるリソースはたくさんあります。オブジェクト指向プログラミングのパラダイムについて見てみましょう。がんばろう!

関連する問題