将 UML 图实现为 java 代码(同时使用聚合和多态性)
implementing UML diagram to java code (uses both aggregation and polymorphism)
我正在做一个让我有点困惑的 java 练习。当方法在接口中时如何使用多态性?一些帮助将不胜感激。
setter 和 getter 可以省略。
我目前拥有的:
接口:
interface Interface {
public void start();
public void stop();
}
第一个Class:
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");}
}
Class 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:
class Aggregate {
private String destination;
private String starting;
public void trip(interface : Interface) {
interface = new Aggregate(Interface);
}
}
java中的接口是抽象方法的集合。当一个class实现一个接口时,它继承接口的抽象方法,这样class就可以为那些方法专门为自己添加一个主体。也就是说,class可以override
接口中提到的那些方法。相信大家知道overriding
和overloading
是java中的两种多态。所以,在你上面的回答中,你确实正确地使用了多态性。只是,添加一个与 class 相关的简单方法体,例如将某些内容打印到屏幕(如作业中所述),以添加更多含义。
我正在做一个让我有点困惑的 java 练习。当方法在接口中时如何使用多态性?一些帮助将不胜感激。
setter 和 getter 可以省略。
我目前拥有的:
接口:
interface Interface {
public void start();
public void stop();
}
第一个Class:
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");}
}
Class 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:
class Aggregate {
private String destination;
private String starting;
public void trip(interface : Interface) {
interface = new Aggregate(Interface);
}
}
java中的接口是抽象方法的集合。当一个class实现一个接口时,它继承接口的抽象方法,这样class就可以为那些方法专门为自己添加一个主体。也就是说,class可以override
接口中提到的那些方法。相信大家知道overriding
和overloading
是java中的两种多态。所以,在你上面的回答中,你确实正确地使用了多态性。只是,添加一个与 class 相关的简单方法体,例如将某些内容打印到屏幕(如作业中所述),以添加更多含义。