kotlin中,声明entity实体类之间的继承,推荐的声明方式是哪种?
时间: 2024-02-24 13:56:13 浏览: 169
在 Kotlin 中,声明实体类之间的继承,推荐使用`open class`和`abstract class`关键字。其中,`open class`关键字用于声明可被继承的类,而`abstract class`关键字用于声明抽象类,抽象类不能被实例化,只能被继承。
例如,声明一个抽象的动物类 Animal,可以使用以下代码:
```
abstract class Animal {
abstract fun makeSound()
}
```
这里使用了`abstract class`关键字来声明 Animal 类,并且定义了一个抽象的 makeSound 方法。其他类可以继承 Animal 类,并重写 makeSound 方法来实现不同的动物叫声。
另外,如果需要对某个类进行扩展,可以使用`open class`关键字来声明可被继承的类。例如:
```
open class Person(val name: String) {
open fun sayHello() {
println("Hello, my name is $name")
}
}
class Student(name: String, val school: String) : Person(name) {
override fun sayHello() {
super.sayHello()
println("I am a student at $school")
}
}
```
这里使用了`open class`关键字来声明 Person 类,并定义了一个可被重写的 sayHello 方法。Student 类继承了 Person 类,并重写了 sayHello 方法,在方法中首先调用了父类的 sayHello 方法,然后输出了自己的学校信息。
阅读全文