博客
关于我
夜光带你走进C#语言 基础版本(50)
阅读量:290 次
发布时间:2019-03-01

本文共 1268 字,大约阅读时间需要 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/

    你可能感兴趣的文章
    Python 中的 *tuple 和 **dict 是什么意思?
    查看>>
    Python 中的 filter() 函数:筛选可迭代对象元素
    查看>>
    Python 中的 Pillow 不允许我打开图像(“超出限制“)
    查看>>
    Python 中的 threading 模块和 multiprocessing 模块有何区别?
    查看>>
    Python 中的 threading 模块和 multiprocessing 模块有何区别?
    查看>>
    Python 中的 Turtle 库详解
    查看>>
    Python 中的 __slots__ 属性有什么作用?
    查看>>
    Python 中的... 三点、箭头(->)、/ 分别的作用
    查看>>
    python读取json数据的id_python处理JSON数据
    查看>>
    Python 中的Duck Typing
    查看>>
    Python 中的for in 遍历生成字典、添加判断条件if
    查看>>
    Python 中的Lock与RLock
    查看>>
    Python 中的range(),arange()函数
    查看>>
    Python 中的内存管理机制
    查看>>
    Python 中的函数包装器:模型运行时和调试
    查看>>
    Python 中的列表理解和 lambda
    查看>>
    Python 中的多层for in嵌套循环使用
    查看>>
    Python 中的多线程(01/4)
    查看>>
    Python 中的多进程(01/2):简介
    查看>>
    Python 中的多进程(02/2):进程之间的通信)
    查看>>