温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

scala的多态方法怎么使用

发布时间:2021-12-08 14:55:30 来源:亿速云 阅读:155 作者:iii 栏目:大数据

这篇文章主要介绍“scala的多态方法怎么使用”,在日常操作中,相信很多人在scala的多态方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”scala的多态方法怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

所谓的“多态”,简单的理解就是对象在不同  情况下的不同表现,具体体现在定义和功能两个方面,简单的总结一下,多态可以用“三个定义和两个方法”来总结。三个定义分别是父类定义子类构建、接口定义实现类构建和抽象类定义实体类构建,而两个方法分别是方法重载和方法重写。
方法重载的概念比较好理解,简单的说,就是在同一个类中,定义了多个方法,具有相同的方法名称和不同的参数列表。方法重载只看名称和参数列表,其他的都不看,包括返回值类型、属性修饰符、范围限定等,这些都不影响方法重载的概念。
Scala 中的方法可以按类型和值进行参数化。   语法和泛型类类似。   类型参数括在方括号中,而值参数括在圆括号中。  
看下面的例子:
def listOfDuplicates[A](x: A, length: Int): List[A] = {  if (length < 1)    Nil  else    x :: listOfDuplicates(x, length - 1)}println(listOfDuplicates[Int](3, 4))  println(listOfDuplicates("La", 8))

方法 listOfDuplicates 具有类型参数 A 和值参数 xlength。值 xA 类型。如果 length < 1,我们返回一个空列表。否则我们将 x 添加到递归调用返回的重复列表中。(注意,:: 表示将左侧的元素添加到右侧的列表中。)

上例中第一次调用方法时,我们显式地提供了类型参数 [Int]。因此第一个参数必须是 Int 类型,并且返回类型为 List[Int]

上例中第二次调用方法,表明并不总是需要显式提供类型参数。编译器通常可以根据上下文或值参数的类型来推断。在这个例子中,"La" 是一个 String,因此编译器知道 A 必须是 String

到此,关于“scala的多态方法怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI