Tolong jelaskan mengenai open class MegaButton  { dari Kotlin (bahasa pemrograman)

// no-open on a function means that

//    polymorphic behavior disabled if function overridden in derived class

fun disable() { ... }

// open on a function means that

//    polymorphic behavior allowed if function is overridden in derived class

open fun animate() { ... }

// Explicit use of override keyword required to override a function in derived class

override fun animate() { println("Giga Click!") }

Kelas abstrak terbuka secara bawaan

Kelas abstrak mendefinisikan fungsi placeholder abstrak atau "virtual murni" yang akan didefinisikan dalam kelas turunan. Kelas abstrak terbuka secara bawaan.// No need for the open keyword here, it’s already open by default