下面看**:
package design.director.v1;
public class battercake
protected int cost()
}
package design.director.v1;
public class battercakewitheag extends battercake
@override
public int cost()
}
package design.director.v1;
public class test
}
如果要我想要乙個加2個雞蛋的煎餅,這個程式就又要加乙個類,就可能會發生類**。現在裝飾器模式用上了。
package design.director.v2;
public abstract class abattercake
package design.director.v2;
public class abstractdecorator extends abattercake
@override
protected string getdesc()
@override
protected int cost()
}
package design.director.v2;
public class battercake extends abattercake
@override
protected int cost()
}
package design.director.v2;
public class eaggdecorator extends abstractdecorator
@override
protected string getdesc()
@override
protected int cost()
}
package design.director.v2;
public class suasagedecorator extends abstractdecorator
@override
protected string getdesc()
@override
protected int cost()
}
package design.director.v2;
public class test
}
裝飾器模式
大話設計模式 裝飾器模式 為已有功能動態地新增更多功能,當系統需要新功能,向舊的類中新增新功能,裝飾了原有類的核心職責和行為,而不改變它們 就像包裝袋一樣,有 的包裝袋包裝之前裝好東西的包裝袋 ifndef clothes h define clothes h include using names...
裝飾器模式
裝飾器設計模式 對真實物件動態的新增功能 抽象元件 author zhangjianbin public inte ce icar 俱體構件物件 真實的物件 author zhangjianbin class car implements icar 裝飾器物件 author zhangjianbin...
裝飾器模式
一 概念 裝飾模式能夠實現動態的為物件新增功能,是從乙個物件外部來給物件新增功能。通常給物件新增功能,要麼直接修改物件新增相應的功能,要麼派生對應的子類來擴充套件,抑或是使用物件組合的方式。顯然,直接修改對應的類這種方式並不可取。在物件導向的設計中,而我們也應該 盡量使用物件組合,而不是物件繼承來擴...