C#重写和重载的区别分析

article/2025/10/12 22:24:14

一、前言
       接触面向对象的思想已经有一段时光了,为什么要学习面向对象呢?因为面向对象具有可复用性、可维护性、可扩展性等优点。

        刚学习完C#之后,难免会对重载和重写傻傻分不清楚。如今通过查阅资料对这两者有了一个大概的理解,不足之处还请多多指教。

二、定义
        重载:在同一定义域内(比如一个类里面)。方法名相同,参数个数、次序、类型不同。因此重载对返回值没有要求,可以相同,也可以不同。但是如果方法名相同,参数个数、次序、类型都相同,而返回值不同,则无法构成重载。
       重写:继承时发生,在子类中重写定义父类中的方法,子类中的方法和父类中的方法是一样的。即方法名、参数的个数、次序、类型和返回值都相同。例如父类方法声明为virtual(虚方法),子类中使用override申明此方法的重写。

三、示例
1、重载:
       我们建立一个猫类,在这个类中构造两个方法。一个是带参数姓名的方法,另一个是不带参数姓名的方法。这样当我们初始化一个“猫”的对象时,就可以选择给对象起名或者不起名。从而达到扩展的目的。

2、 重写:
       比如动物都有“叫”的方法。猫和狗是它的子类,猫的叫声是“喵”,狗的叫声是“汪”,如何在子类中重写父类的方法呢?首先在动物类中构造一个虚方法。

 

Class Animal 
{ public virtual string Shout()//注意修饰符中增加了一个virtual,它表示此方法是虚方法,可以被子类重写 { return ""; } 
} 

 在构建猫这个类时,我们重写“叫”这个方法

Class cat:Animail 
{ Public override string Shout() {//关键字override,表示方法重写 string result="喵"; return result; } 
} 

  在构建狗这个类时,我们也重写“叫”这个方法

Class Dog:Animal 
{ public override string Shout() { string result="汪"; return result; } } 

 重写发生在父类和子类之间,声明的是父类,实例化的是子类。本例子实现了多态。
四、小结

         重载必须发生在一个类中,方法名相同,参数不同。值得注意的是,方法重载必须通过参数不同来判断调用哪个方法,而不能通过返回值。
         重写override一般用于接口实现和继承类的方法改写。值得注意的是,被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有进行覆盖。

以上就是本文的全部内容,希望大家对C#中重载与重写的异同有所了解,谢谢大家的阅读。


http://chatgpt.dhexx.cn/article/WNfOGUwo.shtml

相关文章

【Java SE】重写和重载的区别

重写: 重写(Override)是父类与子类之间多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Override)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父…

方法重写和重载的区别

一、方法重写(0veriding) 在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。 子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展&#xff0c…

面试官:Java的重写和重载有什么区别?

老读者都知道了,七年前,我从美女很多的苏州回到美女更多的洛阳(美化了),抱着一幅“从二线城市退居三线城市”的心态,投了不少简历,也“约谈”了不少面试官,但仅有两三个令我感到满意…

JAVA重写和重载的区别

文章目录 [toc] 问: Java 重载与重写是什么?有什么区别?问:Java 构造方法能否被重写和重载?问:下面程序的运行结果是什么,为什么? 问: Java 重载与重写是什么&#xff1f…

matlab 中histogram,hist的用法

x randn(1000,1); edges [-10 -2:0.25:2 10]; h histogram(x,edges);这是指定区间的;第一个是-10,2 histogram参考链接 hist是用区间的作为直方图的中心 hist参考链接

文献引文分析利器HistCite使用教程(附精简易用免安装Pro版本下载)

如果你选修过中国科学技术大学罗昭锋老师的《文献管理与信息分析》,那么你一定不会对HistCite 感到陌生,这是一款非常强大的引文分析工具,可以快速绘制出某个研究领域的发展脉络,快速锁定某个研究方向的重要文献和学术大牛&#x…

文献综述搜索利器——HistCite

HistCite 1. LCR2. GCS3. LCS4. CR5. 说明6. 参考 1. LCR Local Cited References is the number of references citing local papers. By clicking on “LCR”,you can sort the collection by this score. By clicking on the LCR number, you can see a list of thepapers …

2021-01-19(学堂云)文献管理与信息分析期末考卷

(学堂云)文献管理与信息分析期末考卷 1为知笔记中群组的核心功能是?2以下哪种软件可以帮我们追踪到最新资讯?3连接goole的时候,输入http://google.com,网页会自动跳到http://google .com.hk,解决方案是在htttp://google.com后面输入哪三个…

引文分析软件histcite简介

本文写于多年之前。附上能个近期学生写的补充,以及改进版的小程序。 https://zhuanlan.zhihu.com/p/20902898 这是上学期选修我课程的王庆撰写文件,并改写了一下程序,导入更加方便。 附王庆改写的程序下载链接:http://pan.baidu…

HistCite软件导入文献

转自:了凡春秋 上一篇博客介绍了HistCite软件的一些情况和使用中的一个问题的解决方法。这篇说一下这个软件的使用方法吧,其实最关键的就是导入文献,剩下的就是各种排序查看、产生引用关系图锁定重要文献。 HistCite导入的文献必须来自于WoK数…

【学术灯塔】文献可视化分析软件:HistCite、vosviewer、Citespace

相信大家的文献管理效率大大提高。那么在接触一个新研究方向,面对浩如烟海的文献感到无从下手的时候,我们又该如何对文献进行更深度的分析呢?本期,小编就给大家介绍三个文献可视化分析的软件,帮助大家又快又准地锁定该…

文献引文分析利器 HistCite 详细使用教程

如果你选修过中国科学技术大学罗昭锋老师的《文献管理与信息分析》,那么你一定不会对HistCite 感到陌生,这是一款非常强大的引文分析工具,可以快速绘制出某个研究领域的发展脉络,快速锁定某个研究方向的重要文献和学术大牛&#x…

HistCite学习

刚进入到一个新的方向时,需要先读一读这个这个方向的经典文献,并分析一下这个方向的研究现状。一种最常见的做法是下载几篇该方向的综述论文,并通过综述文献的参考文献和被引文献来进一步的挖掘新的文献。但是,这种方法需要读的文献较多,那么有没有更便捷的方式来找到这些…

【工具】文献分析工具histcite的简单使用

查找文献分析方法时候看到的: 图片来源:百度文库 总的操作流程参考自:罗昭锋:引文分析软件histcite简介 1. wos检索 检索结果: 1,360 (来自 Web of Science 核心合集) 您的检索: TS(altimeter OR altimetry ) AND TSgravity时…

HistCite 的使用方法

摘要 读文献自然要读精品,在面对一个陌生领域,如何才能以最快速度定位精品文献呢?本文将详细介绍 HistCite 的使用方法,结合 Web of Science 和 Endnote ,演示如何在几个小时之内,对某个陌生领域的文献进行…

快速进入陌生领域: HistCite 使用教程

快速进入陌生领域: HistCite 使用教程 1. 致谢 1) 罗昭锋老师的课程及资源; 2) 折腾不止(杨蔚的博客) http://www.ztever.com/histcite-manu/ 3) 知乎Tsing的总结 https://zhuanlan.zhihu.com/p/20902898 以下是杨蔚的博客原文&…

HistCite Pro简要使用说明

参考原文&下载地址:https://zhuanlan.zhihu.com/p/20902898 感谢原文大佬开发的脚本!!! 由于原文回答比较长不方便查阅,所以这里把我常用到的功能和使用方法做一个简单的罗列和排版,方便自己查阅&…

Histcite使用

Histcite 1.首先是在web of science中检索关键词,记得要挂学校的VPN 2.更改数据库为核心合集,Histcite只能识别该数据库 3.使用关键词检索,将结果导出为纯文本文件 4.根据以下格式设置导出选项 5.将导出的TXT文件放入Histcite目录下的TXT文…

快速进入核心领域-histcite使用简介

摘要 读文献自然要读精品,在面对一个陌生领域,如何才能以最快速度定位精品文献呢?本文将详细介绍 HistCite 的使用方法,结合 Web of Science 和 Endnote ,演示如何在几个小时之内,对某个陌生领域的文献进行…