使用Abstract關鍵字修飾的類叫做抽象類。
抽象類具有幾大特點:
抽象類不能被實例化,主要用於被繼承;抽象類里可以包含兩種抽象成員,分別是抽象方法聲明和抽象屬性,同時可以包含其他非抽象成員;
如果繼承抽象類,則需實現抽象類的抽象方法和屬性;
不能使用Sealed關鍵字修飾抽象類,因為Sealed意味着不能被繼承,同樣Static也不能用於修飾抽象類,因為Static意味着會有一個實例。
public abstract class Class1 { public string aa; public abstract string Test(); public string Test1() { return ""; } public abstract string Variable { get; set; } } public class Class2 : Class1 { public override string bb { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } public override string Test() //在派生類中重寫抽象繼承屬性需要使用override修飾符 { throw new NotImplementedException(); } }
