Accessing a function in sealed class - devrath/KotlinAlchemy GitHub Wiki
- Just like a regular class, we can also have functions in a sealed class, Here is the demo of it.
- In the demo we even show-case that variable can be modified
MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val monkeyObj = Monkey()
        Log.d("Hello","<----START--->")
        monkeyObj.printColorOfAnimal()
        Log.d("Hello","Animal number: -> "+monkeyObj.animalNumber)
        monkeyObj.animalNumber++
        Log.d("Hello","Animal number: -> "+monkeyObj.animalNumber)
        Log.d("Hello","<----END--->")
    }
}Animal.kt
sealed class Animal {
    init {
        Log.d("Hello","Initializing the animal class")
    }
    private val colorOfAnimal = "White"
    var animalNumber = 0
    fun printColorOfAnimal() {
        Log.d("Hello", "Animal color :-> $colorOfAnimal")
    }
}
object Camel : Animal()
class Monkey : Animal() {
     init {
         Log.d("Hello","Initializing the monkey class")
     }
}Output
2022-08-09 22:20:28.519 8290-8290/com.droid.democode D/Hello: Initializing the animal class
2022-08-09 22:20:28.519 8290-8290/com.droid.democode D/Hello: Initializing the monkey class
2022-08-09 22:20:28.519 8290-8290/com.droid.democode D/Hello: <----START--->
2022-08-09 22:20:28.519 8290-8290/com.droid.democode D/Hello: Animal color :-> White
2022-08-09 22:20:28.519 8290-8290/com.droid.democode D/Hello: Animal number: -> 0
2022-08-09 22:20:28.519 8290-8290/com.droid.democode D/Hello: Animal number: -> 1
2022-08-09 22:20:28.519 8290-8290/com.droid.democode D/Hello: <----END--->