首页 > 代码库 > 【Spark亚太研究院系列丛书】Spark实战高手之路-第2章动手实战Scala第2小节:动手实战Scala面向对象编程(2)
【Spark亚太研究院系列丛书】Spark实战高手之路-第2章动手实战Scala第2小节:动手实战Scala面向对象编程(2)
3,动手实战Scala中的抽象类
抽象类的定义需要使用abstract关键字:
上面的代码定义并实现了抽象方法,需要注意的是我们把直接运行的代码放在了App这个trait的子类中,关于App内部帮助我们实现了main方法并管理了工程师写的代码;
下面看一下抽象类中未被初始化的变量的使用:
4,动手实战Scala中的trait
trait类似于Java 8中可以带default method的接口。
trait中可以带有实现的方法,也可以带有抽象方法,使用trait的方式是with而混入类中。
下面先看trait的一个实例:
注意,我们这里使用trait的使用使用的是extends,这是因为ConcreteLogger没有继承其它的类或者trait的缘故;
子trait可以覆写实现父trait的方法:
如果子trait在如果覆写父trait中已经实现的方法就必须使用override关键字:
下面展示一下在对象中混入trait:
【Spark亚太研究院系列丛书】Spark实战高手之路-第2章动手实战Scala第2小节:动手实战Scala面向对象编程(2)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。