using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AbstractClass
{
abstract class Animal
{
public virtual void Shout()
{
System.Console.WriteLine("Animal.Shout()......");
}
public abstract void Run( );
}
class Dog : Animal
{
//必须重载父类中的抽象函数,除非它本身也是一个抽象类
public override void Run( )
{
System.Console.WriteLine("Dog.Run()......");
}
}
abstract class Chicken : Animal
{}
class Program
{
static void Main(string[] args)
{
//Animal aml = new Animal( ); //错误,不能创建抽象类实例
//Animal aml = new Chikcen( ); //错误,不能创建抽象类实例
Animal aml = new Dog( ); //正确,Dog类不是抽象类,可以创建实例
}
}
}
有点复杂,比较难以理解,但在实际做项目时用的不多,暂时不需要深入理解,留着以备后用!