C#多层继承与Virtual关键字 2023-01-19 5 笔记 ```csharp using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { KillerApprentice killer = new KillerApprentice("Carol"); Apprentice[] many = new Apprentice[3]; public void Start() { many[0] = new TohouApprentice("Magic Spark"); many[0].TellName(); killer.TellName(); } } class Apprentice { public string name; public virtual void TellName() { Debug.Log("I am " + name); } } class MagicApprentice : Apprentice { } class KillerApprentice : Apprentice { public KillerApprentice(string name) { this.name = name; } public override void TellName() { Debug.Log("Just call me " + name); } } class TohouApprentice : MagicApprentice { public TohouApprentice(string name) { this.name = name; } public override void TellName() { base.TellName(); Debug.Log("I need some mushrooms"); } } ``` 本文链接: https://shrinken.pw/crash-2023-01-19_54-fml.html