Рубрики
Uncategorized

Переопределение унаследованных методов

В предыдущих постах вы узнали, что объект может наследовать свое поведение (методы) от другого объекта … Теги с JavaScript, DevOps, учебником, начинающим.

  • В предыдущих постах вы узнали, что объект может наследовать свое поведение (методы) от другого объекта, ссылаясь на его Прототип объект:
ChildObject.prototype = Object.create(ParentObject.prototype);
  • Тогда ChickObject получил свои собственные методы, церовав их на его Прототип :
ChildObject.prototype.methodName = function() {...};
  • Можно переопределить наследственный метод. Это сделано так же — добавив метод для ChickObject.prototype используя то же имя метода, что и один для переопределения. Вот пример собаки, переопределенного методом Eat (), унаследованного от животного:
function Animal() { }
Animal.prototype.eat = function() {
  return "nom nom nom";
};

function Dog() { }
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.eat = function() {
  return "chew chew chew";
};
  • Если у вас есть экземпляр Пусть собака (); и вы звоните Beagle.eat () , вот как JavaScript ищет метод на Бигль Прототип цепь:
  1. Бигль => Это есть () определяется здесь? Нет.

  2. Собака => Это есть () определяется здесь? = > да. Выполните его и прекратите поиск.

  3. Животное => есть () Также определяется, но JavaScript перестал поиск до достижения этого уровня.

  4. Object => JavaScript перестал поиск до достижения этого уровня.

Оригинал: «https://dev.to/rthefounding/overriding-inherited-methods-3oo6»