public abstract class A
{
//抽象属性不能有实现代码
public abstract string AbstractProperty { get; set; }
string s;
//虚拟属性可以有实现代码
public virtual string VritualProperty
{
get { return this.s; }
set { this.s = value.ToUpper(); }
}
}
public class B : A
{
string message;
//在继承类(子类)中必须提供抽象属性的实现
public override string AbstractProperty
{
get { return message; }
set { this.message = value; }
}
//重写属性可以调用基类中的实现
public override string VritualProperty
{
get
{
return base.VritualProperty;
}
set
{
base.VritualProperty = value;
}
}
}
C#中对虚拟属性和抽象属性的重写
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:设计一个医院
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
深度解读《深度探索C++对象模型》之C++虚函数实现分析(一)
本系列深入分析编译器对于C++虚函数的底层实现,最后分析C++在多态的情况下的性能是否有受影响,多态究竟有多大的性能损失。
虚函数 虚函数表 C++对象模型 C++成员函数 C++性能分析 -
c# 多态(重载overload、重写override、虚方法virtual、抽象方法abstract)
一、定义多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是
c# 多态 重载 重写 虚方法 抽象方法 虚方法 -
c# 虚属性c#