构造函数(一本正经的讲构造函数 如果想看不正经的往下翻看方法重载)

方法名称与类名相同,没有返回值类型,连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#的 构造函数 和 方法重载的更多相关文章

  1. 学JAVA第十三天,方法、方法重载及构造函数

    今天终于不讲狗跳楼的问题了,今天讲了方法,方法重载及构造函数及构造函数重载的课程了. 这里说了有参好无参的,下面讲构造函数重载和方法重载. 其实,这上面写的这些方法,就相当一个模板.想要快速做出产品就 ...

  2. Java -- 构造函数 & this & 方法重写和方法重载的区别

    JAVA: 今天总结一下构造方法.关键字.方法重载和方法重写的异同   一.构造方法(构造函数)1.构造方法的作用:一是创建对象时调用构造方法创建对象,二是可以初始化多个属性 [学生类创建一个学生对象 ...

  3. C# 继承、虚方法、方法重载和多态

    继承:继承属于单继承,只能继承一个父类. 继承的一个结果是派生于基类的子类在方法和属性上有一定的重叠. 继承只能够同时继承与一个基类:可以同时继承一个基类和多个接口,但是基类必须放在第一个.(注:C# ...

  4. Java-Runoob-高级教程-实例-方法:01. Java 实例 – 方法重载

    ylbtech-Java-Runoob-高级教程-实例-方法:01. Java 实例 – 方法重载 1.返回顶部 1. Java 实例 - 方法重载  Java 实例 先来看下方法重载(Overloa ...

  5. JAVA构造方法与方法是啥意思,方法重载方法覆盖俗谈

    构造函数跟构造方法是一样的,只是称呼不同; C语言里叫函数,Java里叫方法. 成员方法必须有返回类型即使是没有返回,也要写上void 构造方法没有返回类型,而且和类名一样!一个类里面,一看就知道了譬 ...

  6. java——方法重载与重写、构造方法、this关键字、static关键字、strictfp关键字、类的导入

    Java SE5新增加@Override注解,它并不是关键字,但是可以把它当作关键字使用.当你想要覆写(重写)某个方法时,可以选择添加这个注解,在你不留心重载而并非覆写了该方法时,编译器就会生成一条错 ...

  7. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  8. 《Java基础知识》Java方法重载和重写

    重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类 ...

  9. 方法重载(method overloading)

    为什么需要方法重载? 在编程语言中,名字的使用很重要.创建对象的时候,我们给一块内存区域起一个名字,然后这个名字就是我们创建的对象的引用,只要我们"叫"这个名字,计算机就知道我们在 ...

随机推荐

  1. linux之log_format

    log_format是指存储日志的时候所采用的格式,可以在/usr/local/nginx/conf/nginx.conf的http字段中设置 下面是一个典型的log_format设置 log_for ...

  2. pull方法解析xml

    private void getData() {        new Thread() { public void run() {                try {              ...

  3. (转)几种范数的解释 l0-Norm, l1-Norm, l2-Norm, … , l-infinity Norm

    几种范数的解释 l0-Norm, l1-Norm, l2-Norm, - , l-infinity Norm from Rorasa's blog l0-Norm, l1-Norm, l2-Norm, ...

  4. MySql数据库索引原理

    写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将 ...

  5. Linux-记录一次被当肉鸡行为

    转自:http://huoding.com/2016/03/07/495 话说从前些天开始,我的某台服务器不时会出现外网访问响应速度变慢的情况,不过内网访问倒是一直正常.因为并不是核心服务器,所以一开 ...

  6. Android Hotpatch系列之-给release包打Patch

    在默认debug包里面,是不对class做混淆的,所以Patch编写相对简单,但是应用在发布的时候都是release包,会对代码做混淆,此时class name ,field name,method ...

  7. 034. asp.netWeb用户控件之三通过用户控件实现用户注册和登录

    用户控件login.ascx代码: <%@ Control Language="C#" AutoEventWireup="true" CodeFile=& ...

  8. C# 托管资源与非托管资源

    在.net 编程环境中,系统的资源分为托管资源和非托管资源. 托管资源: Net平台中,CLR为程序员提供了一种很好的内存管理机制,使得程序员在编写代码时不要显式的去释放自己使用的内存资源(这些在先前 ...

  9. .Net操作Excel

    先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用. .Net导出代码: /// <summ ...

  10. Django中csrf错误

    CSRF(Cross-site request forgery)跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站 ...