学习
实践
活动
工具
TVP
写文章

好程序员大数据教程Scala系列之方法的嵌套和方法多态

好程序员大数据教程为大家分享Scala系列之方法的嵌套和方法多态

好程序员大数据教程

方法里嵌套定义其他方法

示例1

objectEmbedDemo {

defadd3(x:Int,y:Int,z:Int)={

defadd2(x:Int,y:Int)={

x+y

}

add2(add2(x,y),z)

}

defmain(args: Array[String]): Unit = {

println(add3(1,2,3)) //6

}

}

示例2

deffactorial(x: Int): Int = {

deffact(x: Int, accumulator: Int): Int = {

if(x

elsefact(x - 1, x * accumulator)

}

fact(x, 1)

}

println("Factorial of 2: " + factorial(2))

println("Factorial of 3: " + factorial(3))

方法的多态

Scala里方法可以通过类型实现参数化,类似泛型。

deflistOfDuplicates[A](x: A, length: Int): List[A] = {

if(length

Nil

else

x :: listOfDuplicates(x, length - 1)

}

println(listOfDuplicates[Int](3, 4)) // List(3, 3, 3, 3)

println(listOfDuplicates("La", 8)) // List(La, La, La, La, La, La, La, La)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191012A0B8QJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券