例:class Animal { public void Eat() { ... } } class Dog : Animal { public void Bark() { ... } }
Dog 对象既能调用 Eat(继承自 Animal),也能调用 Bark(自己的)。
继承表达“is-a”关系:狗“是一种”动物。
【单继承】C# 一个类只能有一个父类(但可实现多个接口,第 68 课)。
父类也叫基类(Base),子类也叫派生类(Derived)。
所有类最终都继承自 object。
💡
继承是“复用 + 扩展”:把公共逻辑放父类,差异化放子类。
◆Unity 继承实战
用继承管理不同敌人。
创建脚本 Enemy(不继承 MonoBehaviour,作为数据基类):
public class Enemy { public string name = "敌人"; public int hp = 100; public void TakeDamage(int dmg) { hp -= dmg; } public virtual void ShowInfo() { Debug.Log(name + " HP:" + hp); } }
创建脚本 Boss : Enemy:
public class Boss : Enemy { public Boss() { name = "Boss"; hp = 500; } public override void ShowInfo() { Debug.Log("BOSS! " + name + " HP:" + hp); } }