Функция-конструктор, которая наследует свой объект- <code>prototype</code> от функции-конструктора <code>supertype</code> может по-прежнему иметь свои собственные методы в дополнение к унаследованным методам. Например, <code>Bird</code> - это конструктор, который наследует свой <code>prototype</code> от <code>Animal</code> : <blockquote> функция Animal () {} <br> Animal.prototype.eat = function () { <br> console.log («nom nom nom»); <br> }; <br> function Bird () {} <br> Bird.prototype = Object.create (Animal.prototype); <br> Bird.prototype.constructor = Bird; </blockquote>В дополнение к тому, что унаследовано от <code>Animal</code> , вы хотите добавить поведение, уникальное для объектов <code>Bird</code> . Здесь <code>Bird</code> получит функцию <code>fly()</code> . Функции добавляются к <code>prototype</code><code>Bird's</code> же, как и любая функция конструктора: <blockquote> Bird.prototype.fly = function () { <br> console.log («Я летаю!»); <br> }; </blockquote> Теперь экземпляры <code>Bird</code> будут иметь методы <code>eat()</code> и <code>fly()</code> : <blockquote> let duck = new Bird (); <br> duck.eat (); // печатает "nom nom nom"<br> duck.fly (); // печатает «Я лечу!» </blockquote>
Добавьте все необходимые символы , поэтому <code>Dog</code> объект наследует от <code>Animal</code> и в <code>Dog's</code><code>prototype</code> конструктора установлена Собаке. Затем добавьте метод <code>bark()</code> к объекту <code>Dog</code> чтобы <code>beagle</code> мог как <code>eat()</code> и <code>bark()</code> . Метод <code>bark()</code> должен печатать «Woof!» на консоль.