美文网首页
Kotlin基础之消除函数重载

Kotlin基础之消除函数重载

作者: 王魔王 | 来源:发表于2019-06-05 10:39 被阅读0次

    先来复习一下java中的函数重载
    函数名称相同
    与返回值无关
    参数个数不同
    参数顺序不同

     public void getSum(){
    
        }
    
        public void getSum(int a){
    
        }
    
        public void getSum(int a,int b){
    
        }
    

    我们来看,我定义了3个重载的函数,这个重载的问题是,我们有一堆函数,看着眼睛都瞎了。
    现在我们来看看Kotlin中是怎么消除函数重载的

    Kotlin消除函数重载

    //在定义函数的时候,只需要给参数提供默认值,那么我们就可以消除函数重载
    
    
        /**
         * a的默认值为1,在使用的时候,如果用户传入了a,那么就会使用传递的值,否则会使用默认值
         * b的默认值为2,在使用的时候,如果用户传入了b,那么就会使用传递的值,否则会使用默认值
         */
      fun getSum(a:Int=1,b:Int=2){
    
        }
    

    使用

            //两个参数都不传,都使用默认值
             p.getSum()
          //第二个参数不传
            p.getSum(1)
            //两个参数都传
            p.getSum(1,2)
      //低一个参数不传
            p.getSum(b=2)
    

    是不是很方便,再也不用看一大堆名称相同的函数了

    备注:在声明函数的时候,只有提供了默认值的参数,才可以不传

    相关文章

      网友评论

          本文标题:Kotlin基础之消除函数重载

          本文链接:https://www.haomeiwen.com/subject/clhjxctx.html