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

本文探讨了C#中如何正确地复载基类的属性,并通过具体示例展示了复载过程中使用base关键字的重要性。文章提供了两个代码示例,分别演示了属性的简单使用和构造函数的调用。

//一个有趣的程序关于复载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()
{    }
}


转载于:https://www.cnblogs.com/yatasoft/archive/2008/08/06/1261936.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值