inheritance
enum class ProtocolState {
WAITING {
override fun signal() = TALKING
},
TALKING {
override fun signal() = WAITING
};
abstract fun signal(): ProtocolState
}
println(ProtocolState.WAITING) //WAITING
println(ProtocolState.TALKING) //TALKING
println(ProtocolState.WAITING.signal()) //TALKING
println(ProtocolState.TALKING.signal()) //WAITINGLast updated