将 UML 图实现为 java 代码(同时使用聚合和多态)
Posted
技术标签:
【中文标题】将 UML 图实现为 java 代码(同时使用聚合和多态)【英文标题】:implementing UML diagram to java code (uses both aggregation and polymorphism) 【发布时间】:2017-09-13 17:32:59 【问题描述】:我正在做一个让我有点困惑的 java 练习。当方法在接口中时如何使用多态性?一些帮助将不胜感激。
Setter 和 getter 可以省略。
到目前为止我所拥有的:
界面:
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);
【问题讨论】:
【参考方案1】:java中的接口,是抽象方法的集合。当一个类实现一个接口时,它继承了接口的抽象方法,这样类就可以为那些专门为自己的方法添加一个主体。也就是说,类可以override
接口中提到的那些方法。相信你知道overriding
和overloading
是java中的两种多态。因此,在您上面的答案中,您确实正确使用了多态性。只需添加一个与类相关的简单方法体,例如在屏幕上打印一些内容(如作业中所述),以添加更多含义。
【讨论】:
我想我理解你所说的抽象方法集合。我刚刚进行了一些编辑以添加基本的系统输出。你说我上面的代码是完整的吗? 我认为您也应该在 Travel 类中添加 Bike 和 Bus 的私有字段,以表示聚合关系。不需要 getter 和 setter,因为分配说它们可以被省略。是的,我想,那么代码就完成了。以上是关于将 UML 图实现为 java 代码(同时使用聚合和多态)的主要内容,如果未能解决你的问题,请参考以下文章