在 Scala 中,抽象是通过使用抽象类实现的。
抽象是仅显示功能并向最终用户隐藏细节的过程。
抽象类使用“abstract ”关键字定义。一个抽象类包含抽象和非抽象方法。抽象类不允许多重继承,即一个类只能继承一个抽象类。
在Scala中创建Abstract类的语法:
abstract class class_name { def abstract_method () {} def method() { //代码 } }
一个抽象的方法是不具有任何功能体的方法。
示例
abstract class bikes { def displayDetails() } class myBike extends bikes { def displayDetails() { println("My new bike name : Harley Davidson Iron 833 ") println("Top speed : 192 kmph") } } object MyObject { def main(args: Array[String]) { var newBike = new myBike() newBike.displayDetails() } }
输出结果
My new bike name : Harley Davidson Iron 833 Top speed : 192 kmph
关于Scala抽象类的几点
不允许创建Abstract类的实例。如果我们尝试创建抽象类的对象,则将引发错误。
允许创建抽象类的字段,并且抽象类的方法和继承它的类可以使用该字段。
也可以在抽象类中创建构造函数,该抽象类将由继承的类的实例调用。