8 在C++中,由于私有继承不被视为is-a关系,它应该如何显示在类图中,并且如果它显示为has-a关系,那么如何才能它是区分组成和私人遗产?如何在UML类图中显示私有继承关系 来源 2012-02-23 ahj +4 这是一个很好的问题。问题是私有继承是一个矛盾,这就是为什么它不是UML字典的一部分。我会将它显示为has-a,并说明它是私下继承的。另一种选择是重构你的设计以避免私有继承:你必须拥有它的情况很少,而且很简单,所以很简单,一个普通的工具就可以工作得很好。 – dasblinkenlight 2012-02-23 14:57:33
2 这应该是一个组合关系(在子类侧固黑钻),这是因为: 私有继承意味着“在以下方面实现”,但在这方面,可以简单地同等对待“有一种“关系”。 子类的一个实例明确拥有该对象的基本部分,并且所有权不与任何其他对象共享。 来源 2012-02-23 17:20:25
这是一个很好的问题。问题是私有继承是一个矛盾,这就是为什么它不是UML字典的一部分。我会将它显示为has-a,并说明它是私下继承的。另一种选择是重构你的设计以避免私有继承:你必须拥有它的情况很少,而且很简单,所以很简单,一个普通的工具就可以工作得很好。 – dasblinkenlight 2012-02-23 14:57:33