Kotlin教程:抽象类声明与示例

使用abstract关键字声明的类称为抽象类。 无法实例化抽象类。 意思是,不能创建抽象类的对象。 显式使用abstract关键声明类,才能表示抽象类的方法和属性,否则它是非抽象的。

抽象类声明

abstract class A {  
    var x = 0  
    abstract fun doSomething()  
}

抽象类是部分定义的类,方法和属性,它们不是实现,但必须在派生类中实现。 如果派生类没有实现基类的属性或方法,那么它也是一个抽象类。

抽象类或抽象函数不需要使用open关键字进行批注,因为它们默认是开放的。 抽象成员函数不包含实现主体。 如果成员函数在抽象类中包含有函数的实现,则不能将声明为abstract

具有抽象方法的抽象类的示例

在这个例子中,有一个抽象类Car包含一个抽象函数run()run()函数的实现由它的子类Honda提供。

abstract class Car{
    abstract fun run()
}
class Honda: Car(){
    override fun run(){
        println("Honda is running safely..")
    }
}
fun main(args: Array){
    val obj = Honda()
    obj.run();
}

执行上面示例代码,得到以下结果 -

Honda is running safely..