📅  最后修改于: 2023-12-03 14:43:42.198000             🧑  作者: Mango
Kotlin 是一种基于 JVM 的静态类型编程语言,拥有类和接口的概念,同样支持继承。
Kotlin 中继承的形式和其他面向对象语言相似,基类使用 open
修饰符,子类使用 class
关键字并通过 :
指定基类。例如:
open class Animal {
var name: String
constructor(name: String) {
this.name = name
}
open fun makeSound() { // `open`用于允许派生类重写
println("生物发出了声音")
}
}
class Cat(name: String) : Animal(name) {
override fun makeSound() { // `override`用于重写父类函数
println("喵喵喵")
}
}
val cat = Cat("小猫")
cat.makeSound() // "喵喵喵"
在 Kotlin 中,如果想要重写一个基类的函数或属性,需要在子类中使用 override
关键字,同时基类中的函数或属性使用 open
修饰符。例如:
open class Shape {
open fun draw() {
println("绘制图形")
}
}
class Circle : Shape() {
override fun draw() {
println("绘制圆形")
}
}
val shape: Shape = Circle()
shape.draw() // "绘制圆形"
Kotlin 中一个类只能继承一个类,但可以实现多个接口。语法如下:
interface Shape {
fun draw()
}
interface Color {
fun fill()
}
class Circle : Shape, Color {
override fun draw() {
println("绘制圆形")
}
override fun fill() {
println("填充颜色")
}
}
val circle = Circle()
circle.draw()
circle.fill()
Kotlin 通过 open
和 override
关键字实现了继承的功能,并支持多接口实现。对于面向对象编程开发人员,Kotlin 的继承使用起来很方便简洁。