kotlin inheritance

open class Animal(val name: String) {
    fun makeSound() {
        println("The animal makes a sound")
    }
}

class Dog(name: String) : Animal(name) {
    fun bark() {
        println("The dog barks")
    }
}

class Cat(name: String) : Animal(name) {
    fun meow() {
        println("The cat meows")
    }
}

fun main() {
    val dog = Dog("Buddy")
    val cat = Cat("Whiskers")

    dog.makeSound()
    dog.bark()

    cat.makeSound()
    cat.meow()
}