--[[
背景:陈冠稀想追求张伯芝,但是无从下手,于是找来了谢霆疯。
陈冠稀叫谢霆疯帮她送洋娃娃、玫瑰花和巧克力。于是谢霆疯就
是代理人。
]]--
GiveGift = {girlname = nil}
function GiveGift:new(o)
o = o or {}
setmetatable(o,self)
self.__index = self
return o;
end
Pursuit = GiveGift:new()
function Pursuit:new(o,name)
o = o or {}
setmetatable(o,self)
self.__index = self
o.girlname = name
return o;
end
function Pursuit:GiveDolls()
if self.girlname ~= nil then
print("送"..self.girlname.."洋娃娃")
end
end
function Pursuit:GiveFlowers()
if self.girlname ~= nil then
print("送"..self.girlname.."玫瑰花")
end
end
function Pursuit:GiveChocolate()
if self.girlname ~= nil then
print("送"..self.girlname.."巧克力")
end
end
Proxy = GiveGift:new()
function Proxy:new(o,name)
o = o or {}
setmetatable(o,self)
self.__index = self
o.pursuit = Pursuit:new({},name)
return o;
end
function Proxy:GiveDolls()
self.pursuit:GiveDolls()
end
function Proxy:GiveFlowers()
self.pursuit:GiveFlowers()
end
function Proxy:GiveChocolate()
self.pursuit:GiveChocolate()
end
XieTingFeng = Proxy:new({},"张伯芝")
XieTingFeng:GiveDolls()
XieTingFeng:GiveFlowers()
XieTingFeng:GiveChocolate()
输出结果:
送张伯芝洋娃娃
送张伯芝玫瑰花
送张伯芝巧克力
PS:谢霆疯送了这么多礼物给张伯芝,结果他俩好上了;后来张伯芝发现了谢霆疯只是一个代理人,礼物其实是陈冠稀送的;
后来张伯芝和陈冠稀就OOXX了。
转载自原文链接, 如需删除请联系管理员。
原文链接:代理模式lua实现,转载请注明来源!