C#学习小记5 一个有趣的程序关于复载property

//一个有趣的程序关于复载property
using System;
public class Student
{ private string name;
public virtual string Name
    {
     get {return name;}
     set { name =value;}
    }
}
public class MakeStudent:Student
{
public override string Name
    {
     get {return base.Name;}                //我发现此处若去掉base.那么程序编译可以成功,但是运行时将会死机!
     set { base.Name=value+"hao";}          //我发现此处若去掉base.那么程序编译可以成功,但是运行时将会死机!
    }
static void Main()
{ Student a=new Student();
     a.Name="you";
     Console.WriteLine(a.Name);
     MakeStudent b=new MakeStudent();
     b.Name="me";
     Console.WriteLine(b.Name);
}
}
//本来上例的name打算用构造方法初始化的可是发现编译时老是说什么,参数为0
using System;
public class Student
{ public string name;
    public Student(string me) //2
    { name=me;
    }
}
public class MakeStudent:Student
{    public MakeStudent(string me)     //此处报警!说和2处有关,我想可能是子类要同时
                                       //实现向父类的构造方法传递参数!
    { name=me;


    }
    static void Main()
{    }
}


posted on 2008-08-06 13:25  yatasoft  阅读(237)  评论(0编辑  收藏  举报

导航