Я заметил, что с помощью свойства «prototype» в Javascript (и косвенно настраивая цепочку прототипов) можно реализовать многоуровневое наследование в JavaScript. Но возможно ли каким-то образом реализовать множественное наследование в Javascript? Любые простые примеры были бы замечательными.Внедрить множественное наследование в Javascript
ответ
Для реализации простого наследования вы обычно делаете
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
.
Просто, чтобы быть ясным, JS не имеет множественного наследования.
Каждый объект может иметь только один прототип.
Однако, поскольку EVERYTHING является изменяемым, он может поддерживать «mixins», что и есть методы расширения. Они просто копируют ключи одного объекта в другой. Однако это не наследование. Обычно в этой схеме результирующий объект будет иметь только один proto, который является объектом.
Возможно реализовать множественное наследование в JavaScript, хотя это очень мало библиотек. Единственный пример, который я знаю, - Ring.js.
Конечно, это не зависит только от прототипов, поэтому instanceof
не работает. Но библиотека обеспечивает замену, поэтому это не имеет большого значения.
- 1. Множественное наследование в javascript
- 2. JavaScript - Специальное множественное наследование
- 3. Множественное наследование
- 4. множественное наследование
- 5. Множественное наследование в скрипте #
- 6. Множественное наследование в Javascript с цепочкой прототипов
- 7. Возможно ли множественное наследование в javascript?
- 8. Множественное наследование в Java?
- 9. Множественное наследование в PHP
- 10. Множественное наследование в java
- 11. Множественное наследование в Ruby
- 12. Множественное наследование в LINQtoSQL?
- 13. Множественное наследование в C++
- 14. Множественное наследование в C
- 15. Множественное наследование в Qt
- 16. множественное наследование в Swift
- 17. Множественное наследование в .NET
- 18. Множественное наследование в C#
- 19. Множественное наследование в ООП
- 20. множественное наследование в Eiffel
- 21. C++ множественное наследование/виртуальное наследование
- 22. ES6 множественное наследование?
- 23. множественное наследование Java
- 24. Джанго множественное наследование E005
- 25. C# UserControl множественное наследование
- 26. Множественное наследование класса?
- 27. @interface множественное наследование?
- 28. Objective-C множественное наследование
- 29. Entity Framework: множественное наследование
- 30. Передача на множественное наследование