学习笔记:C#入门(五)多态:方法重载 overload

首先举个例子

方法1

        public int add(int a, int b) 
        {
            return a + b;
        }

这是个求和的方法
参数是两个int型,返回值是int型,就是计算了整数a+整数b

那么我现在想计算两个小数的和
方法2

       public double add1(double a, double b) 
       {
           return a + b;
       }

这时候就需要重新写一个方法
那么现在想计算一个小数和一个整数的和呢,还是说计算三个整数的和呢
你需要写大量的,参数和返回值不同的方法 add2,add3,add4.等等。根据实际情况调用的时候,你并不知道到底调用的是几号方法。

这个时候就用到重载这个功能了
方法重载就是在同一个类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。
调用方法时通过传递给它们的不同个数和类型的参数,以及传入参数的顺序来决定具体使用哪个方法。

即还是上面的两个方法,因为重载的技术,将add1的名字改为add也是不报错的。
当参数为整数的时候,就自动调用第一个方法,当参数为小数的时候,就自动调用第二个方法。

重载方法参数的兼容性
当我把方法一删掉,只保留方法二(参数和返回值都是double类型)
去执行add(1,2),也不会报错,系统会自动给你匹配到方法二(即double可以兼容int,int可以向double转换)
而删掉方法二保留方法一,执行add(1.1,2.1),则会报错,因为double不能向int转换。
在这种兼容性的情况下,调用这个方法,可能有多个重载方法都符合条件,这时候系统就会找出匹配度最高的方法去调用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值