在构造函数中使用super的UML类图

时间:2014-02-22 05:00:00

标签: java class oop uml class-diagram

public class A{
    public A(int num){ num += 2;}
}

public class B Extends A{
    public B(int num){ super(num);}
}

public class C Extends B{
    public C(int num){ super(num);}
}

这样的东西看起来像UML类图?通常如果只有一个类继承自另一个类,那么我会使用泛化。我该怎么做呢?样本图会很棒。

1 个答案:

答案 0 :(得分:1)

  • 在UML中,您不需要在子项中重复相同的构造函数。默认情况下,它们来自父级。但是,在所有语言中都不一定要相同。所以,你在Java中有这些子构造函数,但是你不需要用UML来展示它们。但是你当然可以做到。
  • A()的身体毫无意义。您正在更改输入参数,这没有任何后果。我想,你的意思是:

 public class A{
    int num;
    public A(int num){ 
        this.num = num+2;
    }
 }

无论如何,这种变化在类图

中是不可见的

enter image description here

任何语言的班级都可以轻松地生育两个孩子,而不是问题。对于几代概括而言同样如此。在UML中,您甚至可以有两个孩子的父母。但只有少数语言支持这一点。 Java不在他们的数量中。