Javascript не могу понять логики наследования? Вот есть один кодfunction inherit(proto) {
function F() {}
F.prototype = proto;
var object = new F;
return object;
}
Вот второй:function extend(Child, Parent) {
var F = function() { }
F.prototype = Parent.prototype
Child.prototype = new F()
Child.prototype.constructor = Child
Child.superclass = Parent.prototype
}
Оба они реализуют возможность наследования. Но мне не понятен один момент: Почему в первом варианте :F.prototype = proto;
, а во втором:F.prototype = Parent.prototype
В чем разница в этих подходах.
Я до сих пор не могу понять почему мы пишемF.prototype = Parent.prototype
, то есть мы говорим, я хочу объекту F поставить родителя, который будет родителем Parent. Зачем для F делать родителем родителя Parent. По хорошему счету Parent.prototype для F будет дедушкой. С моим классический пониманием ООП не могу этого понять, а как данность, пока не пойму не приму(

21 Авг 2019 в 07:03
145 +1
0
Ответы
1

Разница между двумя подходами заключается в том, что в первом варианте функция inherit создает новый объект, который наследует свойства и методы из объекта, переданного в качестве аргумента (proto). Таким образом, в этом случае F.prototype устанавливается равным proto, чтобы новый объект наследовал его свойства и методы.

Во втором варианте функции extend используется для наследования классов. Здесь F.prototype устанавливается равным Parent.prototype, чтобы дочерний класс (Child) наследовал свойства и методы родительского класса (Parent). Это позволяет Child доступиться к методам и свойствам Parent.

Следовательно, в первом варианте мы наследуем объект, а во втором - классы. Каждый из этих подходов имеет свои особенности и может быть применен в зависимости от конкретной задачи.

20 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 96 255 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир