请把不确定变成确定~类中的override
来源:岁月联盟
时间:2012-03-14
说到override大家都知道,它是复写,子类去复写父类的方法与属性,是,没错,今天主要就说这个复写,如果不复写会有什么结果,有没有想过,呵呵
来和我做个demo吧!
abstract class Parent
{
public virtual string Msg { get; set; }
}
class Sub : Parent
{
public override string Msg { get; set; } }在另外一个类中为sub这个属性赋值,返回值为它的基类parentstatic Parent display_message { get { return new Sub { Msg = "ok" }; } }最后输出这个Parent类型的属性display_message ,结果是:
没有问题,在给子类赋值时,父类的属性也被赋上了,试想一下,如果我们偏不用override复写,直接用与主类同名的属性呢
class Sub : Parent
{
public string Msg { get; set; }}编译不会出错,但VS会把它当成是一种警告
下一篇:.NET文件类库