2017-04-18 9 views
1

私はちょっと混乱しているJavaの演習に取り組んでいます。メソッドがインターフェイスにある間に多形性を使用するにはどうすればよいですか?助けていただければ幸いです。UMLダイアグラムをJavaコードに実装する(集約と多態性の両方を使用する)

セッターとゲッターは省略できます。私がこれまで持って何

インタフェース:

interface Interface { 
    public void start(); 
    public void stop(); 
} 

ファーストクラス:

class Class1 implements Interface { 

    private String brand; 

    @Override 
    public void start() { 
    System.out.println("Hello from start"); } 

    @Override 
    public void stop() { 
    System.out.println("Hello from stop");} 
} 

クラス2:

class Class2 implements Interface { 

    private String plate; 

    @Override 
    public void start() { 
    System.out.println("Hello from start"); 
    } 

    @Override 
    public void stop() { 
    System.out.println("Hello from stop");} 
    } 

集約クラス:

class Aggregate { 

    private String destination; 
    private String starting; 

    public void trip(interface : Interface) { 
     interface = new Aggregate(Interface); 
    } 
} 

答えて

3

Javaのインターフェイスは、抽象メソッドのコレクションです。クラスがインターフェースを実装するとき、インターフェースの抽象メソッドを継承します。そのため、クラスはそれらのメソッドに本体を追加することができます。換言すれば、このクラスはインタフェース内で言及された方法であるoverrideであることができる。私はoverridingoverloadingがjavaの2種類の多型であることを知っていると思います。したがって、上記の答えでは、実際に多型を正しく使用しています。より意味を付け加えるために、クラスに関連する単純なメソッド本体を、画面に何かを印刷する(割り当てに記載されているように)追加するだけです。

+0

私は抽象メソッドのコレクションについてあなたが言っていたことを理解していると思います。基本的なシステムアウトを追加するためにいくつかの編集をしました。上記のコードが完成したとお考えですか? – ary

+0

私は、集団関係を表すために、TravelクラスのBikeとBusのプライベートフィールドも追加するべきだと思います。割り当てが省略できると言われるので、ゲッタとセッタは必要ありません。はい、私は、コードが完了したと思います。 –

関連する問題