OO Javascript继承降低了两个层次

星期三

我继承了一个对象,如下所示:

projectile.prototype = Object.create(interactiveElement.prototype);
function projectile(){
    interactiveElement.call(this);
}

InteractiveElement具有已定义的方法绘制。

interactiveElement.prototype.draw = function(){

}

当我这样称呼它很好用

var myArrow = new projectile();
myArrow.draw();

但是如果再次继承并从此调用draw方法:

arrow.prototype = Object.create(projectile.prototype);
function arrow(){
    projectile.call(this);
}

var myArrow = new arrow();
myArrow.draw();

然后,我得到错误“箭头没有方法'draw'”。您只能继承一次吗?我完全正确吗?

杰夫·雷诺

这是一个工作示例(http://jsfiddle.net/2n62J/

function interactiveElement() {
}

interactiveElement.prototype.draw = function(){
    console.log('draw');
};

function projectile() {
    interactiveElement.call(this);
}

projectile.prototype = Object.create(interactiveElement.prototype);
projectile.prototype.fire = function() {
    console.log('projectile fire');
};

function arrow() {
    projectile.call(this);
}
arrow.prototype = Object.create(projectile.prototype);
arrow.prototype.fire = function() {
    projectile.prototype.fire.call(this); // if you want to call the parent function
    console.log('arrow fire');
};

var myArrow = new projectile();
myArrow.draw();
myArrow.fire();

var myArrow2 = new arrow();
myArrow2.draw();
myArrow2.fire();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OO编程-基本继承

来自分类Dev

JavaScript OO方法的差异

来自分类Dev

JavaScript OO功能

来自分类Dev

OO JS继承和原型

来自分类Dev

不同形式的OO继承

来自分类Dev

Javascript闭包与Javascript OO

来自分类Dev

Javascript OO键值对访问器

来自分类Dev

继承的属性类的C#OO建议

来自分类Dev

在OO中创建一个窗口

来自分类Dev

在OO中创建一个窗口

来自分类Dev

JavaScript命名空间和OO组织

来自分类Dev

OO正确性-继承层次结构-谁创建其他对象使用的对象?

来自分类Dev

OO正确性-继承层次结构-谁创建其他对象使用的对象?

来自分类Dev

简单方案的C ++ OO继承正确性

来自分类Dev

简单方案的C ++ OO继承正确性

来自分类Dev

OO PHP-子类不继承父方法和属性

来自分类Dev

如何编写OO Javascript实现简单的类模式感到困惑

来自分类Dev

如何在Javascript OO中将参数传递给子方法

来自分类Dev

OO Javascript调试-带有过渡的图像交换

来自分类Dev

困惑于如何编写OO Javascript实现简单的类模式

来自分类Dev

从两个层次结构接口继承?

来自分类Dev

JavaScript对象和OO / UML / Java对象之间有什么区别?

来自分类Dev

OO Javascript是否具有“ to_bool”或“ __len__”等效项?

来自分类Dev

HP OO 9中JavaScript(Rhino)if / else语句中的语法错误

来自分类Dev

OO设计问题

来自分类Dev

OO PHP的误解

来自分类Dev

OO方法python

来自分类Dev

理解 OO 类定义

来自分类Dev

是否有一个经验法则来确定对象在OO编程中应具有的粒度?