public abstract class A
{ //抽象属性不能有实现代码 string s; //虚拟属性可以有实现代码 public virtual string VritualProperty { set { this.s = value.ToUpper(); } } } public class B : A { string message; //在继承类(子类)中必须提供抽象属性的实现 public override string AbstractProperty { set { this.message = value; } } //重写属性可以调用基类中的实现 public override string VritualProperty { get { return base.VritualProperty; } set { base.VritualProperty = value; } } }