Replace an open parent method in a subclass.

Override Methods

OverrideMethods.kt
open class Shape {
    open fun label(): String {
        return "shape"
    }
}

class Square(val side: Int) : Shape() {
    override fun label(): String {
        return "square:$side"
    }
}

fun main() {
    val side = 
    val square = Square(side)
    val label = square.label()

    println("side=$side")
    println("label=$label")
}
open class Shape {
    open fun label(): String {
        return "shape"
    }
}

class Square(val side: Int) : Shape() {
    override fun label(): String {
        return "square:$side"
    }
}

fun main() {
    val side = 
    val square = Square(side)
    val label = square.label()

    println("side=$side")
    println("label=$label")
}
open class Shape {
    open fun label(): String {
        return "shape"
    }
}

class Square(val side: Int) : Shape() {
    override fun label(): String {
        return "square:$side"
    }
}

fun main() {
    val side = 
    val square = Square(side)
    val label = square.label()

    println("side=$side")
    println("label=$label")
}
override A subclass uses `override` to provide its own method body.