本文共 1297 字,大约阅读时间需要 4 分钟。
夜光双眸间,一个年轻人低声自语道:“所学到的任何有价值的知识,往往来自于自学。天才并非与生俱来,而是终身学习的结果。不知道而假装知道才是真正可怕的。”
在技术领域,虚方法和隐藏方法是面对对象类型问题时常用的手法。它们的区别在于调用方式及结果,这一点至关重要。
以下是通过代码示例说明两者的区别:
using System;namespace GeniusTest01{ class Enemy { public void Move() { Console.WriteLine("调用了Enemy的Move方法"); } public virtual void Attack() { Console.WriteLine("敌人攻击"); } } class Boss : Enemy { public override void Attack() { Console.WriteLine("BOSS攻击"); } public new void Move() { Console.WriteLine("BOSS移动"); } } public class Class86 { static void Main(string[] args) { // 隐藏方法的调用演示 Boss oneEnemy = new Boss(); oneEnemy.Move(); // 使用子类类型声明调用,执行子类的Move方法 Enemy twoEnemy = new Boss(); twoEnemy.Move(); // 使用父类类型声明调用,执行父类的Move方法 // 虚方法的调用演示 Enemy threeEnemy = new Enemy(); threeEnemy.Attack(); // 使用父类实例化,调用虚方法的父类实现 Enemy fourEnemy = new Boss(); fourEnemy.Attack(); // 使用子类实例化,调用虚方法的子类实现 } }} 通过上述代码可以看出:
这种理解对于代码的维护和扩展至关重要。在实际开发中,明确调用目标是保证代码的稳定性和可维护性。
转载地址:http://wxdo.baihongyu.com/