Scala中的抽象类
抽象类
在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类的实例。如果我们尝试创建抽象类的对象,则将引发错误。
允许创建抽象类的字段,并且抽象类的方法和继承它的类可以使用该字段。
也可以在抽象类中创建构造函数,该抽象类将由继承的类的实例调用。