zoukankan      html  css  js  c++  java
  • c#重载

    方法的重载:C#允许在一个类中定义方法的不同版本,编译器会自动根据提供的参数选择最适合的版本。

    编写下面的代码:

     int X = 10;
       Console.WriteLine(X);
    

    要显示一个字符串,编写下面代码:

    string MS = "Hello word";
     Console.WriteLine(MS);
    

    那这是如何实现的呢?Console.WriterLine()的参数类型是什么?如果它是一个字符串,则第一个例子就会编译错误,因为int不能隐式地将数据类型转换成string.同理,如果Console.WriterLine()的参数类型是int的话,第二个例子编译会出错。但是实际上这两个例子都不会产生编译错误,运行后都可以得到所希望的结果。

    因为是有两个不同的Console.WriterLine()方法。——一个方法的参数是int,另一个参数是string,实际上有许多个不同的Console.WriterLine()方法。这就是重载。

    下面是例子:

      static void Main(string[] args)
            {
                int a = 50;
                int b = 30;
                int sum = 60;
                double c = 0.2;
                student stu = new student();
              Console.WriteLine(  stu.chaWithBoyAndGirl(a, b));
                Console.WriteLine(stu.chaWithBoyAndGirl(sum,c));
    
            }
        }
        class student
        {
            int  a;
            public int  chaWithBoyAndGirl(int  boy, int  girl)
            {
                a = boy - girl;
                return a;
            }
            //运用重载,参数一个是int,一个是double.
            public int chaWithBoyAndGirl(int  sum, double bitOfBoy)
            {
                int boy = Convert.ToInt32(sum*bitOfBoy);
              int   girl = sum - boy;
              return chaWithBoyAndGirl(boy, girl);//这里就是重载的好处,就可以吧 chaWithBoyAndGirl()
                //重写方法当做实际工作的方法。
                             
            }
    
        
        }
    
  • 相关阅读:
    java多线程--线程和线程池
    java多线程--锁学习
    vue项目中使用iconfont
    组件封装-无数据组件
    添加自定义字体
    时间格式化(自定义格式)
    深度克隆方法
    LazyMan面试题
    lodash.throttle实现节流
    第6章:关系数据库理论(考研重点)
  • 原文地址:https://www.cnblogs.com/sjfsjf/p/3828491.html
Copyright © 2011-2022 走看看