【发布时间】:2017-12-13 03:33:00
【问题描述】:
这是我的抽象类:
var Animal = function(){
this.name = ''
this.legs = 0;
throw new Error("cannot instantiate abstract class");
}
Animal.prototype.walk = function(){ console.log(this.name+ " walked")};
创建一个新的具体类:
var Dog = function(){} ;
现在我想创建一个具体的类 Dog 来继承抽象类 Animal。我尝试了以下两种方式。哪个是标准?:
Dog.prototype = Object.create(Animal.prototype)
或
Dog.prototype = Animal.prototype
我还尝试了var Dog = Object.create(Animal),这给了我一个错误。
【问题讨论】:
-
@str 如果你在 ES6 中可能,但 OP 似乎不是
-
看看@这个链接可能会有所帮助coderwall.com/p/r47jlw/…
-
@smnbbrv 有 JavaScript 转译器。那么有理由不使用 ES6+ 吗?
-
ES6 听起来像是一个新标准。那么在 ES6 出现之前,开发者会做什么呢?
标签: javascript inheritance abstract-class