认为在引擎盖下java继承是正确的
使用装饰器模式实现?
在我看来,继承和装饰模式几乎看起来非常相似
没有什么区别。
编辑:
我的意思是,让A
成为B
的子类,我们可以说在A
中,关键字super
始终引用A
类型的对象,我们是“装潢”。
由于
答案 0 :(得分:0)
我怀疑Java使用Decorator模式在引擎下实现继承。基类及其扩展之间的关系在编译时是固定的,而装饰器与它们装饰的对象之间的关系可以在运行时更改。
答案 1 :(得分:0)
inheritance
和decorator pattern
的共同之处在于它们都允许您更改对象的行为方式。另外,更准确地说,decorator pattern
是由inheritance
的概念实现的。
但区别在于:
1. Decorator pattern
使运行时对象更改更容易:
2. Decorator Pattern
使行为修改更容易
3.在非动态情况下不需要Decorator pattern