您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么我不使用Child.prototype = Parent.Prototype而不是Child.prototype = new Parent();Java继承?

为什么我不使用Child.prototype = Parent.Prototype而不是Child.prototype = new Parent();Java继承?

如果你这样做

Spaceship.prototype = GameObject.prototype;

然后它们都引用同一个对象,因此,您最好将中的所有内容都包含在内GameObject,如果您向中添加了一些内容Spaceship.prototype,则该对象也将添加到其中GameObject.prototype。您可以通过Spaceship.prototype在分配后添加一些内容来轻松对其进行测试。

至于

Spaceship.prototype = new GameObject();

这将调用可能具有不良副作用的构造函数,而您想使用:

Spaceship.prototype = Object.create(GameObject.prototype);

这里使用的Object.create功能归结为:

Object.create = function( proto ) {
    function f(){}
    f.prototype = proto;
    return new f;
};

现代浏览器已经具有该功能

java 2022/1/1 18:21:14 有568人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶