我知道当存在is-a关系时使用继承的规则,以及当存在has-a关系时的组合,但是它们是彼此的两个互斥/替换或者是否存在应该使用的情况在同一个班级?
我已经搜索了很多,但只找到了解释何时使用每个文章的文章,而不是两者。
由于
答案 0 :(得分:3)
Decorator
模式是一个典型的例子,其中装饰类由同一个类的装饰对象的实例组成,并扩展/实现相同的类。
答案 1 :(得分:1)
他们不相互排斥。示例:Boat
和Sailboat
。 Sailboat
是一个Boat
,但它有一个Sail
,其他Boat
可能有也可能没有。