抽象类

抽象类(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

原文地址:https://www.cnblogs.com/TheMiao/p/9326567.html