gpt4 book ai didi

java - 构造函数中带有 super 的 UML 类图

转载 作者:行者123 更新时间:2023-12-01 13:22:31 27 4
gpt4 key购买 nike

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 类图会是什么样子?通常,如果只有一个类从另一个类继承,那么我会使用泛化。我该如何应对?如果有示例图就太好了。

最佳答案

  • 在 UML 中,您不需要在子级中重复相同的构造函数。他们默认从 parent 那里得到它。不过,这不必在所有语言中都相同。因此,您在 Java 中拥有这些子构造函数,但无需在 UML 中显示它们。但你当然可以做到。
  • A() 的主体毫无意义。您正在更改输入参数,这不会产生任何后果。我想,你的意思是:
<小时/>
 public class A{
int num;
public A(int num){
this.num = num+2;
}
}
<小时/>

无论如何,这个变化在类图上是不可见的

enter image description here

一个类(class)甚至可以轻松拥有两个 child ,无论使用任何语言,都不是问题。对于几代泛化来说也是如此。在 UML 中,您甚至可以有一个 child 的两个 parent 。但只有少数语言支持这一点。 Java 不在他们的范围内。

关于java - 构造函数中带有 super 的 UML 类图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com