2017-02-13 3 views
0

私はJavaとオブジェクト指向プログラミングには比較的新しいです。私は継承とOOPについて学んでいます。私はこの1クラスを持っています、一般的な情報を持っているBikeと言うことができます。それから私はこれらのクラスを持っています。スポーツとロードはバイクを拡張していますが、これらのクラスのリンクリストを作成したいと思います。だから私は、スポーツと道路の両方を含む1つのリンクされたリストを持っています。しかし、私はどのようにこれを実行して実装するか分からない。私はリンクされたリストを1つのクラスに基づいて作成する方法を知っていますが、複数のクラスには関連していません。ありがとう。異なるクラスのリンクリストを作成するには?

+0

ようにそのsubclasses.Somethingのオブジェクトを格納するために使用することができSports'と 'Road'は' Bike'のサブクラスで、 'List 'または 'LinkedList 'はこれらのクラスのオブジェクトを含むことができます。これが継承の性質です。これらのタイプのオブジェクトは「自転車」でもあります。 (「スポーツ」は自転車の一種の恐ろしい名前ですが、「スポーツバイク」はそれが意味するものであれば、はるかに優れています。同様に「道路」は、このクラスが「道路」ではなく「道路」バイク ") – ajb

+0

@ajb申し訳ありませんが、それは私が意味したことです。 SportsBikeとRoadBike。 LinkedList は、リストを作成していませんか? * nextなどのものを使うはずです。 –

答えて

1

基本クラスのLLを作成し、必要な要素を追加するだけです。出力

I am a ChildA 
I am a ChildB 
I am a Parent 
+0

Ahh。そうですか。私はC言語の後でJavaを学んでいるので、私は次にそれらを接続する必要があると思っていた。これらのすべての標準関数はjavaにありますか? –

+0

@JMeiはい。独自のLLを実装できますが、常に標準実装を優先します。 [LinkedList](https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html)および[for each]に関する詳細(http://docs.oracle.com/javase) /specs/jls/se8/html/jls-14.html#jls-14.14.2)。 –

0

import java.util.*; 

public class ans{ 
    public static void main(String[] args){ 
    LinkedList<Parent> list = new LinkedList<Parent>(); 

    list.add(new ChildA()); 
    list.add(new ChildB()); 
    list.add(new Parent()); 

    for(Parent p: list) 
     System.out.println(p); 
    } 
} 

class Parent{ 
    public String toString(){ 
    return "I am a Parent"; 
    } 
} 

class ChildA extends Parent{ 
    public String toString(){ 
    return "I am a ChildA"; 
    } 
} 

class ChildB extends Parent{ 
    public String toString(){ 
    return "I am a ChildB"; 
    } 
} 

バイクスーパークラスであるように、自転車タイプのリスト `場合、この

Road r1=new road(); 
Road r2=new road(); 
Sports s1=new Sports(); 
Sports s2=new Sports(); 
List<Bike> bikeType=new ArrayList<Bike>(); 
bikeType.add(r1); 
bikeType.add(r2); 
bikeType.add(s1); 
bikeType.add(s2); 
関連する問題