[scala-spark]6. 继承与特质
发布时间
阅读量:
阅读量
1. 继承
- 定义抽象类
abstract class Element{
def contents:Array[String]
}
对于带有abstract修饰符的类而言,在这些情况下该方法并未被显式实现。只有当一个类型具备不可显式实现其行为(即属于AbstractType)特征时,则需要在其定义中包含此修饰符。若某方法未被显式实现,则该类型则属于抽象类型,并无需附加此修饰符
- 定义无参方法
abstract class Element{
def contents:Array[String]
def height:Int = contents.lenght
def width:Int = if(height==0) 0 else contents(0).length
}
在Scala语言中,默认不带参数的方法极为常见。相反地,在带有空括号的情况下定义一个函数,则称其为空值法线(empty method)。建议的做法是:当一个函数没有任何输入参数,并且仅通过获取所包含对象的属性来访问其可变状态(特别强调这一点),那么应当采用默认不带参数的方法。这种习惯有助于遵循统一访问原则:即客户的代码不应因属性采用字段式还是面向行为
全部评论 (0)
还没有任何评论哟~
