scala之高阶函数多态性

版权声明: https://blog.csdn.net/weixin_39966065/article/details/90177305

目录

 

一:多态

二:java 中的多态

三:scala中的多态性


一:多态

是同一个行为具有多个不同表现形式或形态的能力
就是同一个接口,使用不同的实例而执行不同操作

二:java 中的多态

方式一:重写:
这个内容已经在上一章节详细讲过,就不再阐述,详细可访问:Java 重写(Override)与重载(Overload)。
https://www.runoob.com/java/java-override-overload.html
方式二:接口
1. 生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。

2. java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。具体可以看 java接口 这一章节的内容。
https://www.runoob.com/java/java-interfaces.html

方式三:抽象类和抽象方法
详情请看 Java抽象类 章节。
https://www.runoob.com/java/java-abstraction.html

扫描二维码关注公众号,回复: 6227246 查看本文章

三:scala中的多态性

例子:
def getGreetingFunc(msg: String) = (name: String) => println(msg + ", " + name)
val greetingFunc = getGreetingFunc("hello")
greetingFunc("leo")
// hello,leo

val greetingFunc = getGreetingFunc("hi")
greetingFunc("leo")
// hi,leo 

方式:
利用scala中 1.匿名函数作为函数的返回值 特性
                       2.函数变量化 特性
之后greetingFunc变量接收函数的过程,就类似于接口的实现过程
最终通过调用变量的方式,执行函数,实现了多态化

猜你喜欢

转载自blog.csdn.net/weixin_39966065/article/details/90177305