1
我剛開始學習裝飾模式,我很困惑我什麼時候可以使用裝飾模式,或者爲什麼它不只是調用超級,W/O使用指向超類的指針。裝飾模式vs使用超級
「...是一種設計模式,允許將行爲添加到靜態或動態的單個對象,而不會影響來自同一類的其他對象的行爲。」
是不是隻是子類相同,或者我錯過了什麼?
public class Foo {
protected void doSomething() { }
}
//using decorator pattern
public class Bar extends Foo {
private foo;
public Bar(Foo foo) {
this.foo = foo;
}
public void doSomething() {
foo.doSomething();
// extra code
}
}
//using super
public class Bar extends Foo {
@Overide
public void doSomething() {
super.doSomething();
// extra code
}
}
直接,簡潔,明確的答案。謝謝! –