27. 重载

作者: 厚土火焱 | 来源:发表于2017-11-23 22:48 被阅读49次

重载是很好理解的,就是相同的函数名使用不同的参数的多个函数。很多时候,我们需要一个函数来做很多事情,而这些事情不是要同时做的,根据给入参数的不同来决定所要完成的事情。这就是要用到重载的业务场景。
比如有个机器人叫做 a,
当什么信息都不给它时,它只会返回 0;
当你给它一个整数的时候,它会把这个整数当作年龄来进行信息反馈;
当你给它的是一个字符串的时候,它会把这个串当作自己的名字来处理。
那么接收这些信息的都是 a,所以我们按照这个逻辑,建立一个名为 a 的函数。
代码如下

class Overloads{
    fun a():Int{
        return 0
    }
    fun a(int:Int):String{
        return "我${int}岁了。"
    }
    fun a(str:String):String{
        return "我是$str"
    }

}

因为用到了重载,我们就叫这个类为 Overloads 了。然后,如下调用

    val overloads = Overloads()
    println(overloads.a())
    println(overloads.a(3))
    println(overloads.a("joel"))

看看运行结果

0
我3岁了。
我是joel

很好理解吧。再也不担心那些起名字的事情了,只要我们给不得不同名的函数不同的参数即可。
不仅是参数类型,参数个数也可以不同。比如

    fun a(str: String, int: Int):String{
        return "我是${int}岁的${str}。你喜欢我吗?"
    }

调用是

println(overloads.a("月儿",16))

运行结果就会增加一句

我是16岁的月儿。你喜欢我吗?

相关文章

  • 27. 重载

    重载是很好理解的,就是相同的函数名使用不同的参数的多个函数。很多时候,我们需要一个函数来做很多事情,而这些事情不是...

  • Leetcode PHP题解--D137 27. Remove

    D137 27. Remove Element 题目链接 27. Remove Element[https://l...

  • PHP编程开发技巧:PHP中重载如何实现

    PHP编程开发技巧:PHP中重载如何实现,重载分为属性重载和方法重载,在PHP中的重载和在其它编程语言的重载不一样...

  • C++操作符重载

    重载操作符的限制 可以重载的操作符 不能重载的算符 操作符重载的语法形式 重载赋值操作符 重载+-*/运算操作符操...

  • Java重载与重写

    简言 重写和重载都是面向对象多态的一种表现,重载是编译时多态,重载是运行时多态. 重载 重载(Overloadin...

  • C++基础-(重载)

    C++基础 重载 哪些运算符可以被重载:::,.,->,*,?:不能被重载 重载操作符的标志(operator) ...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

  • 2019-07-11 运算符的重载

    运算符的重载 重载运算符 (“::”,“.*”,“.”,“?:”)不能被重载。 重载运算符时,不能改变其本质,如不...

  • Simon | The types of music

    27. There are many different types of music in the world ...

  • Cocos2dx之C++基础(四)

    函数重载函数不以返回值来区分重载函数函数不以参数名来区分重载函数使用重载函数的时候不要引起二义性结构函数也可以重载...

网友评论

    本文标题:27. 重载

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