什么是抽象类:abstract关键字修饰的类称为抽象类,抽象类不能被实例化,抽象类是派生类(子类)的基类(父类)。
关键字:abstract
1、一个抽象类可以同时包含抽象方法和非抽象方法。
2、抽象方法只在子类中真正实现,父类中只存放函数原型,不涉及主体代码。
3、子类需要实现其父类的抽象方法,才能实例化对象。
4、使用override关键子可在子类中实现抽象方法,经override声明重写的方法称为重写父类方法,其签名(返回值,参数)必须与override方法的签名相同。
static void Main(string[] args)
{
Animal animal = new Monkey("猴子");//new Dog("狗狗");
animal.Call();
Console.ReadLine();
}
public abstract class Animal
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public Animal(string name)
{
this.Name = name;
}
public abstract void Call();
}
public class Dog : Animal
{
public Dog(string name):base(name)
{
}
public override void Call()
{
Console.WriteLine("{0}汪汪叫",this.Name);
}
}
public class Monkey : Animal
{
public Monkey(string name) : base(name)
{
}
public override void Call()
{
Console.WriteLine("{0}唧唧叫", this.Name);
}
}