1. 不能創建抽象類的實例。
2. 抽象類主要是用來作為基類,但是抽象類也可以繼承其它普通類或抽象類。
3. 抽象成員中可以包含抽象成員和普通帶實現的成員。
4. 任何派生自抽象類的類必須使用override關鍵字實現該類所有的抽象成員,除非派生類自己也是抽象類。
5. 抽象成員只能申明在抽象類中。
6. 抽象成員包括:方法、屬性、事件、索引。
namespace abstract_Example { class Program { static void Main(string[] args) { MyClass m = new MyClass(); m.PropertyValue = 100; m.Output(); m.DoWork(m.PropertyValue ); Console.ReadKey(); } public abstract class A { public abstract void DoWork(int i); //抽象成員只能聲明在抽象類中 public abstract int PropertyValue { get; set; } public void Output() // 抽象類中可以包含普通帶實現的成員 { Console.WriteLine("I am Abstract Class A"); } } public class MyClass:A { int MyValue; public override void DoWork(int i) //派生類必須全部實現基類中所有抽象成員 { Console.WriteLine("I am Class MyClass. My Value is {0}",i); } public override int PropertyValue { get { return MyValue; } set{MyValue = value;} } } } }