假设我正在使用一个提供形状的库,并且该库提供了以下功能:
class Shape
class Circle extends Shape
class Square extends Shape
但我想介绍红色形状的概念。我无法修改库,但我可以创建:
class RedShape extends Shape
然而,这不能轻易地扩展到RedCircle
,因为它不能同时扩展RedShape
和Circle
。
我不认为装饰者模式在这里完全适用,但有没有一种方法可以实现这个目标呢?