unity3D-游戏/AR/VR在线就业班 C#入门抽象类学习笔记
抽象类
有时设计类仅仅为了表达抽象的概念,不与具体的事物相联系,只作为其派生类的基类使用,用来描述所有子类的共同特征,这时我们可以使用抽象类。
抽象类不能被直接实例化,抽象类中可以包含抽象方法
using System;
namespace Lesson_16
{
//抽象方法只能出现在抽象类中
//抽象类不能够直接实例化——new一个Food
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 MainClass
{
public 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 ();
}
}
}