classDecoratePattern
{
staticvoidMain(string[] args)
{
Person person =newPerson("小菜");
Sneaker ydx =newSneaker();
BigTrouser kk =newBigTrouser();
TShirts dtx =newTShirts();
ydx.Decorate(person);
kk.Decorate(ydx);
dtx.Decorate(kk);
dtx.Show();
Console.Read();
}
}
classPerson
{
publicPerson()
{ }
privatestringName;
publicPerson(stringname)
{
this.Name =name;
}
publicvirtualvoidShow()
{
Console.WriteLine("装扮的{0}", Name);
}
}
///<summary>///穿衣服的人
///</summary>classFinery : Person
{
protectedPerson component;
//打扮publicvoidDecorate(Person _component)
{
this.component =_component;
}
publicoverridevoidShow()
{
if(component !=null)
{
component.Show();
}
}
}
///<summary>///穿T恤的人
///</summary>classTShirts : Finery
{
publicoverridevoidShow()
{
Console.WriteLine("大T恤");
base.Show();
}
}
///<summary>///穿裤子的人
///</summary>classBigTrouser : Finery
{
publicoverridevoidShow()
{
Console.WriteLine("跨裤");
base.Show();
}
}
///<summary>///穿运动的人
///</summary>classSneaker : Finery
{
publicoverridevoidShow()
{
Console.WriteLine("跨裤");
base.Show();
}
}
装饰模式【大话设计模式Demo】
免责声明:文章转载自《装饰模式【大话设计模式Demo】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
上篇读书笔记: 博弈论导论eclipse部署项目到tomcat下篇
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=