今天學習python的時候遇到裝飾器,文章說跟裝飾模式差不多,想到之前看過的裝飾模式,現在已經淡然忘卻,重拾記憶,搜尋裝飾模式,自己有c#語法的基礎也就找到一篇用c#語法寫的,自己之前看到乙個孫悟空的例子,結合這次,自己編寫一遍.
namespace protest結果:class 孫悟空: 齊天大聖
}class 七十二變 : 齊天大聖
public override void 變()}}
class 魚 : 七十二變
}class 鳥 : 七十二變
}class program}}
我突如其來的想法,c#支援中文就使用了中文命名.只是為了理解設計模式..
在這裡如果不太理解override的話,對這段**也就理解的不夠深刻.
如果感覺已經理解,那麼請問魚類和鳥類去掉override,將會輸出什麼?
只會輸出
.寫這一段**的時候,很順利寫下來.最後執行的時候,結果不對,才發現沒有加override,赤裸裸的說明自己基礎沒有夯實.
於是想到了之前看過的問題,自己測試了一下也就明白了override了:
如果理解這四張圖輸出結果.那就理解了override了.自己動手測試一下吧..
如果自己對new關鍵字理解不太清楚,也可以結合這4張圖理解一下new關鍵隱藏基類含義.
裝飾者模式留下來慢慢溫故
齊天大聖的例子 孫悟空有七十二般變化,他的每一種變化都給他帶來一種附加的本領。他變成魚兒時,就可以到水裡游泳 他變成鳥兒時,就可以在天上飛行。本例中,component的角色便由鼎鼎大名的齊天大聖扮演 concretecomponent的角色屬於大聖的本尊,就是猢猻本人 decorator的角色由大...
設計模式 裝飾模式
裝飾模式,動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。m 超級瑪麗 普通繼承模式實現 a 發鏢 能組合出七種功能 m1 a m4 a b b 變身 m2 b m5 a c c 無敵 m3 c m6 b c m7 a b m m1 a b 組合方法 new m2 m...
設計模式 裝飾模式
剛看了看設計模式,真是費了好多的腦細胞。想著想著就到了食堂。o o哈!正是長身體的時候 大神勿噴 一定要多吃點。於是我打了乙份公尺飯,然後又端著盛公尺飯的盤子買了乙份菜 看著還不是很夠,就又端著這個盤子買了一條最愛吃的魚。裝飾模式!五一要來了。回家轉轉,沒有小外甥的玩具怎麼行。於是我去超市,推著購物...