我正在进行一些类和超类的测试。大部分都很合理,但目前有一件事情我不确定。我在我的超类中使用了一个枚举,我想在我的类中扩展它。我相信我不能这样做,但我不知道应该怎么做——如果有好的建议,或者指向关于类的详细链接的任何指针,那将不胜感激。
以下是我大致尝试的内容:
以下是我大致尝试的内容:
class basicSprite: SKSpriteNode {
// This is the super-class
enum state: Int {
Paused, Idle, Damaged, Dead
}
var currentState = state.Paused
....
}
class playerSprite: basicSprite {
extend enum state: Int {
// This should take the enum state from the super-class and
// add these 4 states, giving 8 in total
case MovingLeft, MovingRight, MovingUp, MovingDown
}
....
}
var newPlayer: playerSprite
newPlayer.state = MovingLeft
....
switch newPlayer.state {
case playerSprite.state.Idle: break
case playerSprite.state.MovingLeft: break
default: break
}
据我所知,使用枚举无法实现这一点 - 我应该使用什么替代方案?或者如果可以使用枚举实现,该如何操作?
谢谢 :-)