博客
关于我
夜光带你走进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/

    你可能感兴趣的文章
    Node.js卸载超详细步骤(附图文讲解)
    查看>>
    Node.js基于Express框架搭建一个简单的注册登录Web功能
    查看>>
    Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅
    查看>>
    Node.js安装及环境配置之Windows篇
    查看>>
    Node.js安装和入门 - 2行代码让你能够启动一个Server
    查看>>
    node.js安装方法
    查看>>
    Node.js官网无法正常访问时安装NodeJS的方法
    查看>>
    Node.js的循环与异步问题
    查看>>
    Node.js高级编程:用Javascript构建可伸缩应用(1)1.1 介绍和安装-安装Node
    查看>>
    nodejs + socket.io 同时使用http 和 https
    查看>>
    NodeJS @kubernetes/client-node连接到kubernetes集群的方法
    查看>>
    Nodejs express 获取url参数,post参数的三种方式
    查看>>
    nodejs http小爬虫
    查看>>
    nodejs libararies
    查看>>
    nodejs npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>