1.抽象类
C#允许把类和函数声明为 abstract。 抽象类不能实例化,抽象类可以包含普通函数和抽象函数,抽象函数就是只有函数定义没有函数体。 显然,抽象函数本身也是虚拟的Virtual(只有函数定义,没有函数体实现)。
类是一个模板,那么抽象类就是一个不完整的模板,我们不能使用不完整的模板去构造对象。
abstract class Building
{
public abstract decimal CalculateHeatingCost();
}
namespace 面向对象编程_继承
{
abstract class Bird//一个抽象类就是一个不完整的模板
{
private float speed;
public void Eat()
{
}
public abstract void Fly();
}
}
namespace 面向对象编程_继承
{
class Crow:Bird//我们继承了一个抽象类的时候,必须去实现抽象方法
{
public override void Fly()
{
Console.WriteLine("乌鸦在飞行");
}
}
}
namespace 面向对象编程_继承
{
class Program
{
static void Main(string[] args)
{
//Boss boss = new Boss();
//boss.AI();//继承:父类里面所有的数据成员和函数成员都会继承到子类里面
//boss.At