C#的 构造函数 和 方法重载
构造函数(一本正经的讲构造函数 如果想看不正经的往下翻看方法重载)
方法名称与类名相同,没有返回值类型,连void都没有
用作给类的对象初始化
一个类中可以有多个构造
如果手动添加一个构造,系统不会自动生成无参构造

定义一个Person类,之中有string类型的姓名,int类型的年龄和枚举类型的性别(male,female)

创建两个构造函数
构造函数用作给对象附初值 在新建一个类的对象时都会调用类的构造函数
例如 Person p=new Person(); 括号内就是构造函数的参数
一个方法可以有多个构造函数 参数列表必须不同(方法重载)
调用有三个参数的构造函数为Person类对象附初值Person p = new Person("斯沃",18,0);
调用无参方法Person p1=new Person();
比如呢 计算器计算加法 两个整数也能相加,两个小数也能相加,一个整数一个小数也能相加
为了实现如上功能,我们该怎么办呢
我们可以写四个方法,分别叫做SumIntAndInt(int a,int b) SumIntAndDouble SumDoubleAndInt SumDoubleAndDouble
啊四个方法
是不是看起来很高端
但是并没有什么卵用 首先名字很长并且都要是不同的名字
其次调用起来的话并不知道传进去什么参数,该用什么类型
那么 该怎么办呢,怎么办呢
其实C#里可以定义多个方法名相同的方法 这就是方法的重载
方法重载
在同一个类里 方法名称相同
方法参数列表不同(个数 类型 顺序)
与方法的返回值没有任何关系

对对对对对对 如你所见他并不会报错
但是不能定义两个参数列表完全相同的方法,只要类型或者个数或者顺序不一样都可以成功

如你所见 不抵了 因为参数列表完全相同 就算返回值类型不同也不行 返回值类型跟方法重载没有半毛钱关系!!

神奇的是这样就可以了!
然后我们在Main方法里就可以调用这四个重载的方法
比如Sum(1,2) Sum(1.1,2) Sum(1,2.1) Sum(1.1,2.2)
他都可以运行然后返回结果
是不是很神奇
是不是很鬼畜
嗯就是这样
今天的内容讲完了
C#的 构造函数 和 方法重载的更多相关文章
- 学JAVA第十三天,方法、方法重载及构造函数
今天终于不讲狗跳楼的问题了,今天讲了方法,方法重载及构造函数及构造函数重载的课程了. 这里说了有参好无参的,下面讲构造函数重载和方法重载. 其实,这上面写的这些方法,就相当一个模板.想要快速做出产品就 ...
- Java -- 构造函数 & this & 方法重写和方法重载的区别
JAVA: 今天总结一下构造方法.关键字.方法重载和方法重写的异同 一.构造方法(构造函数)1.构造方法的作用:一是创建对象时调用构造方法创建对象,二是可以初始化多个属性 [学生类创建一个学生对象 ...
- C# 继承、虚方法、方法重载和多态
继承:继承属于单继承,只能继承一个父类. 继承的一个结果是派生于基类的子类在方法和属性上有一定的重叠. 继承只能够同时继承与一个基类:可以同时继承一个基类和多个接口,但是基类必须放在第一个.(注:C# ...
- Java-Runoob-高级教程-实例-方法:01. Java 实例 – 方法重载
ylbtech-Java-Runoob-高级教程-实例-方法:01. Java 实例 – 方法重载 1.返回顶部 1. Java 实例 - 方法重载 Java 实例 先来看下方法重载(Overloa ...
- JAVA构造方法与方法是啥意思,方法重载方法覆盖俗谈
构造函数跟构造方法是一样的,只是称呼不同; C语言里叫函数,Java里叫方法. 成员方法必须有返回类型即使是没有返回,也要写上void 构造方法没有返回类型,而且和类名一样!一个类里面,一看就知道了譬 ...
- java——方法重载与重写、构造方法、this关键字、static关键字、strictfp关键字、类的导入
Java SE5新增加@Override注解,它并不是关键字,但是可以把它当作关键字使用.当你想要覆写(重写)某个方法时,可以选择添加这个注解,在你不留心重载而并非覆写了该方法时,编译器就会生成一条错 ...
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...
- 《Java基础知识》Java方法重载和重写
重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类 ...
- 方法重载(method overloading)
为什么需要方法重载? 在编程语言中,名字的使用很重要.创建对象的时候,我们给一块内存区域起一个名字,然后这个名字就是我们创建的对象的引用,只要我们"叫"这个名字,计算机就知道我们在 ...
随机推荐
- asp.net ajax 调用一例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- jQuery的ajax()、post()方法提交数组,参数[] 问题
当用$.ajax()向后台提交参数时,如果参数中数组的话一般在后台会用List,或Integer[] 等数组对象进行接收. 比如: $.ajax({ type: "POST", ...
- windbg
1, symbols : srv*c:\symbols*http://msdl.microsoft.com/download/symbols 2,.loadby sos mscorwks or ...
- BulkCopy频繁执行产生的性能问题
问题现象: 完整的SQL脚本如下: from all_cons_columns acc, all_constraints ac where acc.owner = ac.owner and acc.c ...
- Oracle表空间不足
Oracle临时表空间不足 -- 用户的缺省表空间.临时表空间 select t.username, t.default_tablespace, t.temporary_tablespace from ...
- CSS 高级语法
选择器的分组 你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明.用逗号将需要分组的选择器分开.在下面的例子中,我们对所有的标题元素进行了分组.所有的标题元素都是绿色的. h1,h2,h ...
- 优秀IT技术文章集(最新)(高质量)
作者:赵磊 博客:http://elf8848.iteye.com 阅读优秀的文章可以使你快速进步,本文收集了广受好评的优秀IT技术文章,在你有空时读一读,安静下来思考一下. 不断更新中... --- ...
- 【freemaker】之判断是否为空,表达式的使用
测试代码 @Test public void test05(){ try { freemakerUtil.fprint(root, "05.ftl",fn+"05.htm ...
- IE10、IE11解决不能播放Flash的问题!
http://jingyan.baidu.com/article/154b46315421b528ca8f41e4.html ie的问题向来是windows系统的传统问题之一.几乎每个版本的windo ...
- IOS框架研究之SDWebImage的原理以及使用流程
SDWebImage 这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. SDWebImage 支持异步的图片下载+ ...