1."person"類 (concretecomponent)
public class person
private myname as string
public sub new()
end sub
public sub new(byval name as string)
myname = name
end sub
public overridable sub show()
console.writeline("裝扮的", myname)
end sub
end class
2.服飾類( decorator)
public class finery
inherits person
protected mycomponent as person
'打扮,相當於建構函式
public sub decorate(byval component as person)
mycomponent = component
end sub
public overrides sub show()
if not isnothing(mycomponent) then
mycomponent.show()
end if
end sub
end class
3.具體服飾類( concretedecorator)
public class bigtrouser
inherits finery
public overrides sub show()
console.write("垮褲 ")
mybase.show()
end sub
end class
public class sneakers
inherits finery
public overrides sub show()
console.write("破球鞋 ")
mybase.show()
end sub
end class
public class suit
inherits finery
public overrides sub show()
console.write("西裝 ")
mybase.show()
end sub
end class
public class tie
inherits finery
public overrides sub show()
console.write("領帶 ")
mybase.show()
end sub
end class
public class tshirts
inherits finery
public overrides sub show()
console.write("大t恤 ")
mybase.show()
end sub
end class
public class leathershoes
inherits finery
public overrides sub show()
console.write("皮鞋 ")
mybase.show()
end sub
end class
4.客戶端**
module module1
sub main()
dim xc as new person("小菜")
console.writeline("第一種裝扮:")
dim pqx as new sneakers '破球鞋
dim kk as new bigtrouser '大垮褲
dim dtx as new tshirts '大t恤
pqx.decorate(xc)
kk.decorate(pqx)
dtx.decorate(kk)
dtx.show()
console.read()
end sub
end module
Java設計模式 裝飾者模
裝飾者模式,其實不難理解,簡單地說就是裝飾者和被裝飾者擁有共同的超類,裝飾者只是豐富了行為,拓展了功能,而型別是不變的。說起來可能比較抽象,接下來通過乙個簡單的例子來實現乙個裝飾者模式。動態的給乙個物件新增一些額外的職責或者功能,就增加功能來說,裝飾者模式相比生成子類更為靈活。大多數情況下被裝飾者不...
PHP設計模式之裝飾器模式,委託模式,外觀模式
如果已有物件的部分內容或功能發生改變,但是不修改原始物件的結構,也不使用擴充套件類時,可以使用裝飾器模式。class cd public function addtrack track 向cd中新增一首歌 public function gettracklist return output 呼叫時 ...
JAVA設計模式(九)設計模式之裝飾器設計模式
本章講解設計模式中裝飾器設計模式的相關知識 1.概念 與橋接模式類似,該模式也是為了解決類 的問題。但是裝飾器模式關注於功能的擴充套件,真實的角色比較穩定。橋接模式的真實角色在多維度之間不斷的變化,具有不確定性。2.裝飾器模式的實現思路 1 新建相應工程 其中,car 車 為基本物件,feature...