using System;
public class Test
{
public static void Main()
{
person xc= new person("小草");
Console.Write("\n 第一种装版");
TShirts tt=new TShirts();
BigT bt =new BigT();
tt.decorate(xc);
bt.decorate(tt);
bt.show();
}
}
class person
{
private string name;
public person()
{
}
public person(string n)
{
this.name=n;
}
public virtual void show()
{
Console.WriteLine("装扮的{0},name");
}
}
class Finery:person
{
protected person compon;
public void decorate(person p)
{
this.compon=p;
}
public override void show()
{
if(compon != null)
{
compon.show();
}
}
}
class TShirts : Finery
{
public override void show()
{
Console.Write("大T恤");
base.show();
}
}
class BigT : Finery
{
public override void show()
{
Console.Write("裤子");
base.show();
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXBlcnNvbiB4Yz0gbmV3IHBlcnNvbigi5bCP6I2JIik7CgkJQ29uc29sZS5Xcml0ZSgiXG4g56ys5LiA56eN6KOF54mIIik7CgkJCgkJCgkJVFNoaXJ0cyB0dD1uZXcgVFNoaXJ0cygpOwoJCUJpZ1QgYnQgPW5ldyBCaWdUKCk7CgkJCgkJdHQuZGVjb3JhdGUoeGMpOwoJCWJ0LmRlY29yYXRlKHR0KTsKCQlidC5zaG93KCk7CgoJfQp9CgoKY2xhc3MgcGVyc29uCnsKICBwcml2YXRlIHN0cmluZyBuYW1lOwoJCiBwdWJsaWMgcGVyc29uKCkKICB7CiAgICAKICB9ICAKICAKICBwdWJsaWMgcGVyc29uKHN0cmluZyBuKQogIHsKICAgIHRoaXMubmFtZT1uOwogIH0KCiAgcHVibGljIHZpcnR1YWwgdm9pZCBzaG93KCkKICB7CiAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIuijheaJrueahHswfSxuYW1lIik7ICAKICB9Cn0KCmNsYXNzIEZpbmVyeTpwZXJzb24KewogIHByb3RlY3RlZCBwZXJzb24gY29tcG9uOwogIHB1YmxpYyB2b2lkICBkZWNvcmF0ZShwZXJzb24gcCkKICB7CgkgICB0aGlzLmNvbXBvbj1wOwoJICB9ICAKCiAgcHVibGljIG92ZXJyaWRlIHZvaWQgc2hvdygpCiAgewoJICBpZihjb21wb24gIT0gbnVsbCkKCSAgewoJCSAgY29tcG9uLnNob3coKTsKCQkgIH0KCSAgfQoKfQoKY2xhc3MgVFNoaXJ0cyA6IEZpbmVyeQp7CglwdWJsaWMgb3ZlcnJpZGUgdm9pZCBzaG93KCkKCXsgIAoJCUNvbnNvbGUuV3JpdGUoIuWkp1TmgaQiKTsKCQliYXNlLnNob3coKTsKCQl9Cgl9CgkKY2xhc3MgQmlnVCA6IEZpbmVyeQp7CglwdWJsaWMgb3ZlcnJpZGUgdm9pZCBzaG93KCkKCXsgIAoJCUNvbnNvbGUuV3JpdGUoIuijpOWtkCIpOwoJCWJhc2Uuc2hvdygpOwoJCX0KCX0JCgkKCQoJCgkKCQ==