1

だから私はノードクラスを持っていて、まだLinked Listを学んでいないので、それを使うことができません. ノード オブジェクトを作成するには、パラメータを次のようにします。

Node(int numberOfNode, type complex or simpel)

Simpelnodeandと呼ばれるノードの 2 つのサブクラスがあるcomplexNodeため、ノード オブジェクトはそれらのいずれかになります。パラメータを両方のタイプにするにはどうすればよいですか?

4

4 に答える 4

3

継承を使用

public interface Node{
    //...
}

public class SimpleNode implements Node{
    //...
}

public class ComplexNode implements Node{
    //...
}

Constructor次に、次のように追加できます。

public class SimpleNode implements Node{
    public SimpleNode(int numberOfNode){
        //...
    }
}
于 2013-08-27T08:04:15.097 に答える
1
Node(int numberOfNode, Node node)

SimpleNodeComplexNodeは両方とも のサブクラスであるためNode、 aSimpleNode は a Nodeであり、 aComplexNode は a Nodeです。したがって、引数 type として使用すると、 aだけでなくNodea も渡すことができます。SimpleNodeComplexNode

于 2013-08-27T08:05:12.697 に答える
0

Simpelnodeノードを作成しcomplexNodeて拡張する必要があります。

そうすれば、次のことができます:

Node n = new Simpelnode();

また

Node n = new complexNode();

また、 Java継承について読んで、それが何を意味するのかを理解する必要があります

于 2013-08-27T08:04:32.430 に答える
0

私があなたの質問を理解する限り..

コンストラクターで Node インターフェイスを作成する

Node(int numberOfNode,Object o) またNode(int numberOfNode,Node o)

2つのクラスにSimpleNodeとComplexNodeを実装させる

次のようSimpleNode(int numberOfNode,SimpleNode o)ComplexNode(int numberOfNode,ComplexNode o)

于 2013-08-27T08:05:08.143 に答える