嘿我正在学习JS并试图编写一个简单的多人棋牌游戏。我试图让所有不同的部分继承自同一个超类。就像在Java Id中有Pawn,Knight,Bishop等扩展一个抽象的超级GamePiece。这可能吗?
或者是最接近的事情是每种类型的片段都有一个单独的构造函数并且引用相同的函数,例如move()或take(),只有不同的参数?
答案 0 :(得分:2)
Java脚本是一种免费的面向对象编程语言。 Javascript遵循原型继承而不是classical inheritance来了解有关原型继承访问this的更多信息。
关于抽象类,很难将Javascript放入任何纯面向对象的语言中。要实现类似抽象类的行为,请访问this堆栈溢出问题。你会发现各种方法。
答案 1 :(得分:1)
可以制作类似于抽象类using prototypes的东西,但这可能比你的情况更麻烦。
由于JavaScript是一种动态类型语言,因此您不需要将从超类中抽象出来,而不像Java那样。单独的构造函数和方法可能适合您。
(如果您仍然喜欢抽象类,请阅读链接的Stack Overflow文章,如果仍需要帮助,请回复评论!)