这个UML类图的实现如何?

时间:2018-05-11 02:52:38

标签: java uml

UML Diagram

abstract class Activity extend Measurement extends Location{

private DateTime timestamp;
private int heartRate;

private double latitude;
private double longitude;
private double elevation; 
}

我想知道它是否应该看起来像这样,重复了类:

public class Measurement{
private DateTime timestamp;
private int heartRate;
}

public class Location{
private double latitude;
private double longitude;
private double elevation;
}

它是否只是内部的所有字段或类?

1 个答案:

答案 0 :(得分:1)

你可能误解了黑色填充的钻石,这不是遗传而是构图。您的Activity类没有任何扩展,但它包含一个Measurement实例,必须在Activity中实例化。

public class Activity {
    private Measurement measurement = new Measurement();
}

我猜它应该是这样的(因为我在图中看不到构造函数),虽然我不知道UML图中的测量应该是私有的还是公开的。

更好的做法是在Activity的构造函数中实现测量,因此我将离开this link here,这可能有助于您了解如何执行此操作。

编辑:我忘了提及,你的其他课程看起来是正确的,但不要忘记测量和位置之间的关联关系:测量必须知道位置存在。在为当前类添加方法时,您必须牢记这一点。