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)

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

是不是很神奇

是不是很鬼畜

嗯就是这样

今天的内容讲完了

posted on 2016-08-27 16:20  天天天命  阅读(9819)  评论(1编辑  收藏  举报

导航