using System;
namespace AbstractClassDemo
{
//抽象方法只能出现在抽象类中
//抽象类不能够直接实例化
public abstract class Food
{
//抽象方法需要添加 abstract关键字
//1. 在父类中定义的抽象方法不能够实现
public abstract void Eat();
//抽象类中可以包含普通的方法
public void Test()
{
Console.WriteLine("Test");
}
}
public class Apple:Food
{
//2. 子类实现父类的抽象方法时,需要添加Override
public override void Eat()
{
Console.WriteLine("Hp+10");
}
}
public class Water: Food
{
public override void Eat()
{
Console.WriteLine("Mp+10");
}
}
class Program
{
static void Main(string[] args)
{
//Apple apple = new Apple();
//apple.Eat();
Food f1 = new Apple();
Food f2 = new Water();
f1.Eat();
f2.Eat();
f1.Test();
}
}
}