C#中的多态——virtual,override与base
为了让同一对象在执行相同行为时有不同表现我们用到多态这一特性它能够确保同一对象有唯一的行为特征。例如在利用父类容器装载子类对象时可以通过多态时不同子类对于同一方法执行不同的逻辑。最基本的实现多态的方法即为vitrualoverride和base即在父类里需要被实现多态的函数前加上virtual使其成为虚函数随后在子类里的对应函数前添加override进行重新若还需要同时调用父类的该函数里的逻辑则在重新的函数里利用base点出父类里对应的虚函数。namespace ConsoleApp10 { class GameObject { public string name; public GameObject(string name) { this.name name; } public virtual void Atk() { Console.WriteLine(GameObject的攻击); } } class Player :GameObject { public Player(string name) : base(name) { } public override void Atk() { base.Atk(); Console.WriteLine(Player的攻击); } } class Monster : GameObject { public Monster(string name) : base(name) { } public override void Atk() { Console.WriteLine(Monster的攻击); } } class Program { static void Main(string[] args) { GameObject p new Player(张三); p.Atk(); } } }

相关新闻

最新新闻

日新闻

周新闻

月新闻