抽象类 接口 委托
抽象类:
提供了部分功能的实现,但是不能被实例化的类,除了不能实例化和可能包含抽象方法两个特点,其余使用和正常类一样。
public abstract class NPC //不能被实例化
{
//可以包含抽象方法:子类必须实现的方法
public abstract void Say();
}
public class XiaoBai:NPC
{
public override void Say()
{
}
}
NPC npc = new NPC(); //错误
NPC npc = new XiaoBai(); //正确
接口:
同样不能被实例化,接口里面包含的方法必须在继承接口的类上实现。(和抽象方法相似),一个类可以继承多个接口,C#就是通过接口来解决了多继承的问题。
public interface Enemy
{
//接口中只能有方法声明,谁继承谁实现,不能在接口中实现
public //错误,接口中所有的方法都是public,不需要写
void GetHit();
}
//接口是可以继承的
public interface Boss:Enemy