open class Shape {
open fun draw() { /*...*/ }
fun fill() { /*...*/ }
}
class Circle() : Shape() {
override fun draw() { /*...*/ }
}
Circle.draw() 需要 override 修飾符。
如果它丟失,編譯器會提出警告。
果函數上沒有 open 修飾符,例如 Shape.fill(),則不允許在子類中聲明具有相同簽名的方法,無論是否使用 override。 open 修飾符在添加到 final 類(沒有 open 修飾符的類)的成員時無效。