小菜扮靓实例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
abstract class Component
{
public abstract void show();
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class Person:Component
{
private string name;
public Person()
{}
public Person(String name)
{ this.name = name; }
public override void show()
{
Console.WriteLine("装扮的{0}", name);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class Finery:Component
{
protected Component com;
public void decorate(Component com)
{ this.com = com; }
public override void show()
{
if (com != null)
com.show();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class Tshirts:Finery
{
public override void show()
{
Console.WriteLine("大T恤" );
base.show();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class BigTrouser:Finery
{public override void show()
{
Console.WriteLine("大垮裤");
base.show();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class Sneaker:Finery
{public override void show()
{
Console.WriteLine("破球鞋");
base.show();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class Shoe:Finery
{
public override void show()
{
Console.WriteLine("皮鞋");
base.show();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class Suit:Finery
{public override void show()
{Console.WriteLine("西装");
base.show();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class Tie:Finery
{public override void show()
{
Console.WriteLine("领带");
base.show();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace zhuangshi
{
class Program
{
static void Main(string[] args)
{
Person xc = new Person("小菜");
Console.WriteLine("第一种装扮");
Sneaker sk = new Sneaker();
BigTrouser bt = new BigTrouser();
Tshirts ts = new Tshirts();
sk.decorate(xc);
bt.decorate(sk);
ts.decorate(bt);
ts.show();
Console.WriteLine("第二种装扮");
Suit su = new Suit();
Tie te = new Tie();
Shoe sh = new Shoe();
su.decorate(xc);
te.decorate(su);
sh.decorate(te);
sh.show();
}
}
}