在同一个类中同时使用继承和组合?

时间:2012-12-03 02:20:13

标签: java oop class inheritance composition

我知道当存在is-a关系时使用继承的规则,以及当存在has-a关系时的组合,但是它们是彼此的两个互斥/替换或者是否存在应该使用的情况在同一个班级?

我已经搜索了很多,但只找到了解释何时使用每个文章的文章,而不是两者。

由于

2 个答案:

答案 0 :(得分:3)

Decorator模式是一个典型的例子,其中装饰类由同一个类的装饰对象的实例组成,并扩展/实现相同的类。

答案 1 :(得分:1)

他们相互排斥。示例:BoatSailboatSailboat是一个Boat,但它有一个Sail,其他Boat可能有也可能没有。