抽象类(abstract) 是特殊的虚类(virtual)
当父类的方法不知道如何去实现,可以考虑把父类写成抽象类,讲方法写成抽象方法。
抽象类可以包括 virtual method(virtual method 有方法体), abstract method(abstract method 没有方法体)
class Program { static void Main(string[] args) { Animal a = new Dog(); a.Bark(); Animal b = new Cat(); b.Bark(); Console.ReadKey(); } } public abstract class Animal { //没有方法体 {} 就是方法体 public abstract void Bark(); public virtual void Behaviour() { Console.WriteLine("I can run!"); } } public class Dog : Animal { public override void Bark() { Console.WriteLine("Wang wang"); } } public class Cat : Animal { public override void Bark() { Console.WriteLine("miao miao"); } }
抽象类主要用作对象系列的基类, 这些对象共享某些主要特性, 例如共享共同的目的和结构.
接口则主要用于类, 这些类存在根本性的区别, 单仍可以完成某些相同的任务.
更多抽象类内容请访问
http://www.cnblogs.com/yubinfeng/p/4559045.html