C#中的函数重载和构造函数
函数重载
在当你翻看别人的代码或查看C#中的自带的方法中,你或许可以看到有许多的名称相同的函数名/方法名,当在实际运许中却没有报错,这是为什么呢?
这就是C#中的函数重载,你可以发现在函数重载中的方法的名称相同,但它们的形参的个数,数据类型却不相同。这就可以说明构成函数重载是需要某种条件的。
函数重载的概念:在同一个作用域中,可以声明几个功能类似的同名函数。调用时可以根据不同的实参列表来选择相应的函数。
例:
在这个例子当中,可以看到函数的名称都是相同的,但形参的个数和形参的数据类型存在差异。
速记:
函数重载的特点:函数名相同,参数列表不同。
参数列表不同主要体现在参数的个数或参数的数据类型不同。在调用重载的方法是系统是根据所传递的参数的不同来判读调用的是那个方法。
构造函数
构造函数是一种特殊的方法,主要用来在创建类的对象的时候初始化对象,即为对象变量赋初始值。它是通过我们实例化来创建的 Student stu = new Student()的这种方式。
在构造函数中的,它的访问修饰符通常为public ,这样就可以在其他类中进行访问,如果设置它的访问修饰符为private,则无法创建该类的对象。
构造函数的参数和方法一样,可以拥有多个不同类型的形参。同时,构造函数也有函数重载。
如果你在访问C#语言中自带的类你或许可以看到:
构造函数重载和方法重载的原理,形参的类型,个数存在差异。编译器会根据我们传进的参数,判读使用对应的构造函数。
构造函数与方法的不同处:
- 构造函数与类型的名称必须完全相同,构造函数中没有返回值,也不同使用void 来进行修饰。而方法都可以使用void 来进行修饰,在方法中,尽管你没有去给它设置返回值。但还是可以让他返回一些东西,尽管安全性不高。
- 构造函数是随着对象创建而存在的,就是说在使用new 来创建一个对象时,就存在了。
- 调用不同,构造函数不能被直接调用,它只能通过new 的方式被调用。而方法如果是静态公用方法,我们可以直接进行调用。
构造函数的作用:为对象数据成员(成员变量)开辟储存空间,为对象数据成员(成员变量)初始化。方法:实现我们某个要完成的功能。
C#中的函数重载和构造函数相关推荐
- php 中c函数重载,php函数重载的替代方法--伪重载详解
php //函数重载的替代方法-伪重载 // //确实,在PHP中没有函数重载这个概念,让很多时候我们无法进行一些处理,甚至有时候不得不在函数后面定义好N个参数 //在看到了func_get_arg, ...
- C++深度解析 类中的函数重载 -- 全局函数,普通成员函数,静态成员函数(28)
C++深度解析 类中的函数重载 -- 全局函数,普通成员函数,静态成员函数(28) 函数重载的回顾 函数重载的本质为相互独立的不同函数 C++中通过函数名和函数参数确定函数调用 无法直接通过函数名得到 ...
- 美丽的闭包,在js中实现函数重载
引言 最近在js的学习中,看到了函数重载的问题,一开始,只看到了实现代码,看着代码冥思苦想了半个小时,总算是理清了其实现的原理,也为其实现的巧妙感到赞叹,也是在自己搞懂原理之后,去网络上搜索了下,才知 ...
- Javascript中的函数重载-最佳做法
用JavaScript伪造函数重载的最佳方法是什么? 我知道不可能像其他语言一样重载Javascript中的函数. 如果我需要两个函数一起使用foo(x)和foo(x,y,z) ,这是最佳/首选方式: ...
- 函数重载函数的引用算重载吗_了解C ++中的函数重载
函数重载函数的引用算重载吗 介绍 (Introduction) Today in this tutorial, we are going to understand the concept of Fu ...
- 浅谈Javascript中的函数重载实现
其它面向对象语言如Java的一个常见特性是:能够根据传入的不同数量量或类型的参数,通过"重载"函数来发挥不同的功用.但是这个特性在Javascript中并没有被直接支持,可是有很多 ...
- 【C++深度剖析教程7】C++之类中的函数重载
函数重载的回顾(接上一篇文章): 函数重载的本质为相互独立的不同的函数 C++中通过函数名和函数参数确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域中 类中的成员 ...
- JavaScript中实现函数重载和参数默认值
2019独角兽企业重金招聘Python工程师标准>>> 参数默认值是指在调用函数时,若省略了某个实参,函数会自动为该参数分配一个默认值,使得函数调用的方便性和灵活性大大提高. 举个例 ...
- c语言中 允许函数重载么,简述C++语言支持函数重载问题介绍
对于C++语言作为一种欲与C兼容的语言,C++语言保留了一部分过程式语言和特点,foo_int_int这样的名字包含了函数名.函数参数数量及类型信息,C++语言就是靠这种机制来实现函数重载的. 因而它 ...
最新文章
- python培训班价格-上海Python培训学费价格是多少
- 【转载】SQL执行计划
- Python入门基础知识学什么?
- 前端学习(1525):简化模板代码
- SQL SERVER自定义函数
- (进阶篇_01)Oracle数据同步3种场景
- 苹果手机更改照片大小kb_苹果手机照片视频删除了怎样恢复?专业人士建议你这样做...
- 判断当前用户是否为root
- 使用web3和infura开发以太坊ethereum区块链
- 以后所有经济时事的点评都不在这里
- 通过编写纯代码与JDBC实现对mysql的数据实现增删改查案例,jdbc连接数据库六步完整步骤详解,适合编程新手,通俗易懂
- 如何把软件Origin切换变成中文显示?
- 值得推荐的C/C++框架和库
- 写给即将进入IT行业的应届生们——什么是IT行业
- 区块链医疗平台搭建 高效的医疗管理生态服务体系
- Torah RVP Claiming Tutorial
- Go实现md5加密方法
- 2020年度计划 - 本立道生
- 历时一个月整理2021金三银四Java面试题汇总,足足127页!
- logstash(10)过滤器-dissect
热门文章
- 这几个高级前端常用的API,你用到了吗?
- 还在用ppt数据分析图表制作吗,不试一下bi?
- 【已更新】为什么我用支付宝付水电费了!
- 台计算机是怎么诞生的,第一台计算机是怎么诞生的?
- 『王霸之路』从0.1到2.0一文看尽TensorFlow奋斗史
- capslock亮灯是小写_Caps Lock Indicator-大小写指示灯锁定工具下载 v1.2.0.21 官方版 - 安下载...
- javaXML方式传输图片 .
- (c语言)三角形判断
- oracle 删除一个值,Oracle删除(delete)
- Unity 使场景整体变暗