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)

 他都可以运行然后返回结果

是不是很神奇

是不是很鬼畜

嗯就是这样

今天的内容讲完了

原文地址:https://www.cnblogs.com/swordtm/p/5813223.html