Каков правильный/лучший способ расширить класс javascript, чтобы класс B наследовал все из класса A (класс B расширяет A)?Javascript extends class
ответ
Посмотрите на Simple JavaScript Inheritance и Inheritance Patterns in JavaScript.
Простейший метод, вероятно, является функциональным наследованием, но есть плюсы и минусы.
Вторая ссылка мертв. – Jarrett
Вторая ссылка сейчас находится здесь: http://bolinfest.com/javascript/inheritance.php –
Дуглас Крокфорд имеет некоторые очень хорошие объяснения наследования в JavaScript:
- prototypal inheritance: «естественный» способ сделать что-то в JavaScript
- classical inheritance: ближе к тому, что вы найдете в большинстве языков ОО, но вид работает против зерна JavaScript
extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
};
Вы также можете добавить фильтры в цикл for.
Это не то, что запросили OP и не исправили «удлинить» - вы должны перебирать Object.keys или, по крайней мере, проверять hasOwnProperty –
Требуется hasOwnProperty проверять и перезаписывать методы и свойства, если они одинаковые, без возможности вызова метода суперкласса позже. –
- 1. Java Class extends Groovy Class
- 2. ZF2 change extends class
- 3. php class extends
- 4. Python версия Java 'class extends'?
- 5. Coffeescript Backbone extends/Class Inheritance
- 6. Общие сведения о Java Generics <T extends Class> и <? extends Class>
- 7. React - old var syntax vs. class extends
- 8. Запись привет мир на extends class
- 9. абстрактная функция, тип параметра extends class
- 10. Добавление Java Class Constructor в ArrayList (extends)
- 11. Javascript extends не работает
- 12. php class extends - атрибуты/методы с тем же именем ok?
- 13. Почему getAnnotation не принимает Class <? extends Annotation>
- 14. onCreate in main class extends Приложение никогда не называлось
- 15. Как использовать extends в accesing value super class
- 16. В чем разница между использованием Object.assign и class/extends?
- 17. При объявлении «public class MainActivity extends Activity implement OnClickListener»
- 18. Получить класс типа "?" в ArrayList <? extends Class>
- 19. Выполнить метод из extends Activity extends Runnable
- 20. Попытка вызвать конструктор KFCdata (Class) с помощью «This» из kfcTab2 (class) extends Fragment
- 21. extends GraphicsProgram
- 22. Django extends вызывает TemplateError
- 23. Загрузить URL-адрес внутри интерфейса Javascript Class Class
- 24. Javascript Class Разъяснение
- 25. Javascript find class
- 26. JavaScript Iterator Class
- 27. increment class onclick javascript
- 28. Расширение javascript "class" (object)
- 29. Javascript change class onclick
- 30. Javascript Ball Class? - EDIT
Actualy ... есть какой-то другой способ, но b.prototype = new a; – xpepermint
У JavaScript нет классов. Поэтому весь этот вопрос не имеет смысла. Вы говорите о Java? Или ActionScript? У этих * do * есть классы, но они не имеют абсолютно никакого отношения к JavaScript. Или вы говорите о какой-либо библиотеке JavaScript, которая реализует OO на основе классов в JavaScript, например MooTools? В этом случае ответ зависит от той библиотеки, о которой вы говорите. –
Есть мой объект класса: https://github.com/reduardo7/sjsClass/blob/master/sjsclass.js –