js29 裝飾著模式

2021-09-07 11:26:30 字數 1239 閱讀 1447

//裝飾者模式:就是在保證不改變原有物件的基礎上,去擴充套件一些想要的方法或去求

var carinte***ce = new bh.inte***ce('carinte***ce' , ['getprice' , 'assemble']);

var car = function(car);

car.prototype = ,

assemble:function()

};var lightdecorator = function(o);

bh.extend(lightdecorator , car); //立即執行

lightdecorator.prototype = ,

assemble:function()

};var iceboxdecorator = function(o);

bh.extend(iceboxdecorator , car); //原型繼承

//裝飾者 不僅可以用在類上, 還可以用在函式上

//返回乙個當前時間的字串表示形式

function getdate();

// 包裝函式 (裝飾者函式)

function uppercasedecorator(fn)

};alert(getdate());

var getdecoratordate = uppercasedecorator(getdate);

alert(getdecoratordate());

裝飾著模式

package com.henu.decorator 漢堡基類 author rock public abstract class humburger public abstract double getprice package com.henu.decorator 雞腿堡類 被裝飾者的初始狀態,...

裝飾著模式

裝飾著模式 裝飾者模式動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。案例 有這樣乙個專案,做乙個餐廳訂餐系統。起初的 結構是這樣的。前面有很多beverage的繼承類,現在遇到的問題是牛奶的價錢 了,那麼所有相關的類,我們都要進行調整,比如milk,sugaran...

裝飾著模式(Decorator Pattern)

裝飾者模式是動態的將責任附加到物件上,若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。簡單的說,裝飾者模式由三部分組成,分別是基礎抽象類,可以被裝飾者包裝的類 裝飾者類,後兩種類均是基礎抽象類的子類,但是裡面的方法對於基礎類有更多的擴充套件,最終使用,均是使用的基礎類進行操作,因此,無論怎麼...