scala的多态方法怎么使用

这篇文章主要介绍“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的多态方法怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


文章标题:scala的多态方法怎么使用
标题来源:http://azwzsj.com/article/pssipg.html