javascript – 如何在JS中创建一个方法,就像Java中的抽象方法一样?

前端之家收集整理的这篇文章主要介绍了javascript – 如何在JS中创建一个方法,就像Java中的抽象方法一样?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建造一个小型游戏 – 石头剪刀.

我有一个原型 – RPSPlayer,我有两种玩家:Player1,Player2(player1& player2是具有RPSPlayer原型的对象),每个玩家都使用以下功能:Player1.play().

每个玩家都有不同的游戏策略.因此,我需要2个play()实现.如果它是Java,我将创建一个抽象类RPSPlayer,其中包含一个抽象方法play()和另外两个继承自RPSPlayer的类;他们每个人都有自己的play()实现.

我的问题是:在JS中执行此操作的正确方法是什么?我希望我清楚自己,谢谢大家.

解决方法

您可以在原型上定义一个空函数: @H_502_12@RPSPlayer.prototype.play = function() {};

或者如果要强制执行此函数,可以使其抛出错误

@H_502_12@RPSPlayer.prototype.play = function() { throw new Error('Call to abstract method play.'); };

Google Closure library就是这样做的,它的goog.abstractMethod function

@H_502_12@goog.abstractMethod = function() { throw Error('unimplemented abstract method'); };

哪个用作

@H_502_12@Foo.prototype.bar = goog.abstractMethod

猜你在找的JavaScript相关文章