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