//sealed class ren //使用sealed将实现对类的密封,结果就是这个类无法被继承.密封类不能同时又是抽象类,因为抽象类总是希望被继承的。
public class ren

{
//声明基类变量
protected int eye;
protected int hand;


//定义一个事件
public delegate void RenChengHender(string s, int e); //定义一个委托
public event RenChengHender RenChenged; //定义一个事件

//构造函数
public ren()

{
eye = 2;
hand = 2;
}
//构造函数重载
public ren(int e, int h)

{
eye = e;
hand = h;
}

//属性声明

public int Eye

{
get

{
return eye;
}
set

{
eye = value;
string s = "眼睛";
RenChenged(s,value);//如果修改了这个值,将激发事件
}
}
public int Hand

{
get

{
return hand;
}
set

{
hand = value;
string s = "手";
RenChenged(s, value);
}

}
public string person()

{
return "此人共有眼睛" + Eye + "只," + "还有" + Hand + "只手!";
}

}

//子类
public class man : ren

{
private string sex;
private int age;

//构造函数重载
public man(string sex0, int age0, int eye0)
: base(6, 888)

{
sex = sex0;
age = age0;
eye = eye0;
}

//属性声明
public string Sex

{
get

{
return sex;
}
set

{
sex = value;
}

}

public int Age

{
get

{
return age;
}
set

{
age = value;
}
}
//子类的新方法

public string manp()

{
return "这个人的性别是:" + sex + ",年龄" + age + "有多少只手?答案:" + hand + "只!又有多少只眼睛?答案:" + eye + "只!呵呵,这里就不加判顿了";
}

//基类方法重载
public string person(string s)

{
if (s == "男")
return "他是个男人!";
else
return "可能是个女人,或者她根本就不是人!呵呵";
}
//基类方法重写
public new string person()

{
if (hand != 2 || eye != 2)
return "不好意思,我实在不知到你为什么和正常人不一样";
else

{ return "终于见到一个正常人了!"; }
}
}
public void Page_Load(object sender, EventArgs e)

{
ren p1 = new ren(55, 55);
//首先测试基类属性与方法是否正常
ren p0 = new ren();
Response.Write("一个正常人应该拥有" + p0.Hand + "手,拥有" + p0.Eye + "眼睛!----测试一<br/>");

Response.Write("哇靠,它拥有" + p1.Hand + "手,拥有" + p1.Eye + "眼睛!----测试二<br/>");
Response.Write(p1.person() + "这是基类方法测试!-----呵呵测试!");
p1.RenChenged += new ren.RenChengHender(p1_RenChenged);
p1.Eye = 2;
p1.Hand = 3;

//子类测试

man p2 = new man("男", 80, 3);

Response.Write("这" + p2.Sex + "人" + p2.Age + "岁了!还在上网?----测试四<br/>");

p2.Age = 22;
Response.Write("这" + p2.Sex + "人" + p2.Age + "岁了!可以上网,但是这个眼睛也有点问题,怎么" + p2.Eye + "只眼睛?----测试五<br/>");

p2.Eye = 2;
Response.Write(p2.manp() + "这个男人正常!----测试六");

man p3 = new man("女", 22, 2);

Response.Write(p3.person("女") + "这个女人飘香?<br/>");
p3.Hand = 2;
Response.Write(p3.person() + ",最后一个测试!<br/>");

}

void p1_RenChenged(string s, int e)

{
Response .Write ("<br/>---这是代理测试内容---<br/>");
if (s == "眼睛")
Response.Write("眼睛:");
else
Response.Write("手:");
Response.Write(e+"只");
}

posted @
2008-07-10 11:36
sitemap
阅读(
181)
评论()
收藏
举报