【发布时间】:2013-02-09 15:26:09
【问题描述】:
我正在寻找一种创建两个类的简单方法,一个继承自另一个,子重新定义父方法之一,并在新方法中调用父方法。
例如,有一个类Animal 和Dog,其中Animal 类定义了一个方法makeSound(),该方法确定了如何输出声音,然后Dog 在它自己的makeSound() 方法中覆盖该方法以生成一个“ woof" 的声音,但同时也调用 Animal 的 makeSound() 来输出那个 woof。
我查看了 John Resig 的模型 here,但它使用了本机 arguments.callee 属性,该属性在 ECMA 脚本 5 中显然已被贬值。这是否意味着我不应该使用 John Resig 的代码?
使用 Javascript 的原型继承模型编写我的动物/狗代码的一种简洁的方法是什么?
【问题讨论】:
-
更广泛的回应:看看这些来自 JSON 发明者和 Javascript 之神的精彩视频讲座(是的,我知道所有的神也有缺陷,但他仍然是神,认为希腊神不是“那个”)道格拉斯Crockford:播放列表 youtube.com/playlist?list=PL5586336C26BDB324 和 youtube.com/playlist?list=PL7664379246A246CB
-
以下答案包含用于创建某种类型的实例、从它们继承以及覆盖/扩展父函数的代码,也许会有所帮助:stackoverflow.com/a/16063711/1641941
标签: javascript oop inheritance prototypal-inheritance