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; } } }