1.抽象元件:需要裝飾的抽象物件介面或者抽象父類。
2.具體元件:需要裝飾的物件
3.抽象裝飾類:包含了對抽象元件的引用以及裝飾者共有的方法
4.具體的裝飾類:被裝飾的物件。
public
class
decoratetest
}//1.抽象元件
inte***ce
drink
//2.具體元件
class
coffee
implements
drink
@override
public string info()
}//3.抽象裝飾類:
abstract
class
decorate
implements
drink
@override
public
double
cost()
@override
public string info()
}//4.具體的裝飾類
class
milk
extends
decorate
@override
public
double
cost()
@override
public string info()
}class
suger
extends
decorate
@override
public
double
cost()
@override
public string info()
}
python裝飾器了解
功能 在不修改原始碼和原有呼叫方式的情況下給函式新增額外功能 又成為語法糖,包裝函式 如要在函式的前面,後面新增新的功能,或更改函式的功能 如下面的例子,有個talk,列印名字,現在想要包裝下,讓列印時說的是 name love you 又不想直接懂函式talk,就加上decorator def l...
裝飾者設計模式的簡單了解
本篇供個人學習使用,有問題歡迎討論 decorator pattern,能夠在不修改目標類也不使用繼承的情況下,動態地擴充套件乙個類的功能。它是通過建立乙個包裝物件,也就是裝飾者來達到增強目標類的目的的。裝飾者設計模式的實現有兩個要求 這兩個要求的目的是,在裝飾者類中的方法可以呼叫目標類的方法,以增...
python簡單裝飾器 python裝飾器簡單使用
理解裝飾前先理解python閉包的概念 下面是對裝飾器的簡單舉例 實質 是乙個函式 引數 是你要裝飾的函式名 並非函式呼叫 返回 是裝飾完的函式名 inner 作用 為已經存在的物件新增額外的功能 特點 不需要對物件做任何的 上的變動 被裝飾的函式無引數 def decorate func 裝飾器列...