类继承出错

 //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(6888)
            
{
                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(5555);
           
            
            
//首先测试基类属性与方法是否正常
            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(""803);

            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(""222);

            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)  评论(0)    收藏  举报