zoukankan      html  css  js  c++  java
  • 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)

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

    是不是很神奇

    是不是很鬼畜

    嗯就是这样

    今天的内容讲完了

  • 相关阅读:
    李宏毅 Keras手写数字集识别(优化篇)
    李宏毅 Keras2.0演示
    李宏毅 线性回归预测PM2.5
    李宏毅 Gradient Descent Demo 代码讲解
    Pandas导入导出&pickle文件模块
    python(29)Tinker+BeautifulSoup+Request抓取美女壁纸
    golang(11) 反射用法详解
    golang(10)interface应用和复习
    golang(09) golang 接口内部实现
    golang(08)接口介绍
  • 原文地址:https://www.cnblogs.com/swordtm/p/5813223.html
Copyright © 2011-2022 走看看