面试题答案
一键面试enum class CharacterState {
Idle, Running, Jumping
}
class Character {
private var currentState: CharacterState = CharacterState.Idle
fun changeState(state: CharacterState) {
currentState = state
performAction()
}
private fun performAction() {
when (currentState) {
CharacterState.Idle -> println("角色处于空闲状态")
CharacterState.Running -> println("角色正在奔跑")
CharacterState.Jumping -> println("角色正在跳跃")
}
}
}
你可以使用以下方式测试代码:
fun main() {
val character = Character()
character.changeState(CharacterState.Running)
character.changeState(CharacterState.Idle)
character.changeState(CharacterState.Jumping)
}