我观察到,通过使用Javascript中的“prototype”属性(并间接设置原型链),可以实现JavaScript中的多级继承。但有没有可能通过某种方式在Javascript中实现多重继承?任何简单的例子都会很棒。在Javascript中实现多继承
3
A
回答
5
为了实现简单的继承,你通常会做
MyClass.prototype = new MySuperClass();
但你也可以复制其他“类”的内容:
MyClass.prototype = new MySuperClass();
var myOtherSuperClass = new MyOtherSuperClass();
for (var key in myOtherSuperClass) {
MyClass.prototype[key] = myOtherSuperClass[key];
}
当然,你可以使用一个工具像jQuery.extend做,或者滚动你自己的。
限制是instanceof
不会检测到MyOtherSuperClass
。
1
要明确,JS没有多重继承。
每个对象只能有一个原型。
但是,由于EVERYTHING是可变的,它可以支持“mixins”,这就是扩展方法的全部内容。他们只是将一个对象的按键复制到另一个对象。虽然这不是实际的继承。通常,在该方案中,结果对象将只有一个原型,它是Object。
1
尽管只有很少的库可以实现JavaScript中的多重继承,但它是可能的。我知道的唯一例子是Ring.js。
当然,它不仅仅依靠原型,所以instanceof
不起作用。但图书馆提供了一个替代品,所以这不是什么大问题。
相关问题
- 1. 在MySQL中实现继承
- 2. 实现继承
- 3. eclipselink继承实现
- 4. 最好的JavaScript继承实现
- 5. Javascript继承的实现问题
- 6. 多重继承和指针实现
- 7. 这是太多的继承/实现?
- 8. javascript中的多继承
- 9. 在codeigniter中实现类继承
- 10. 继承在CoffeeScript中的实现
- 11. 如何在hibernate中实现继承?
- 12. 在node.js绑定中实现继承
- 13. 实现继承与通用
- 14. 如何实现继承
- 15. PHP类,继承,实现
- 16. c继承的实现
- 17. 春.NET继承实现
- 18. 概念继承的实现
- 19. JavaScript继承实例属性?
- 20. 如何在接口中使用java实现多继承?
- 21. 在PHP中如何实现多级继承?
- 22. 如何在代码中实现多级继承优先
- 23. 在VB .Net中可以实现多重继承吗?
- 24. 如何在Java中实现多重继承
- 25. 接口实现与继承在C#
- 26. 如何实现Dispose在继承类
- 27. 继承并实现在同一时间
- 28. 类的继承在JavaScript中
- 29. JavaScript中的继承
- 30. Javascript中的继承