Задача по наследованию
Помогите , пожалуйста, решить задачу ниже.
Написать класс Cat, который наследуется от класcа Animal. Класс Animal имеет метод getName (name можно передать в конструктор). Класс Cat имеет метод meow (возвращает строку “Cat {catname} is sayig meow”. Пример использования: var cat = new Cat(‘garfield’); cat.getName() === ‘garfield’; // true cat.meow() === ‘Cat garfield is saying meow’; // true Мое решение: function Cat(name){ this.meow = function() { return 'Cat ' + this.getName() +' is saying meow' } } function Animal(name){ this.name = name; this.getName = function() { return this.name; } } var animal = new Animal(); var cat = new Cat('garfield'); cat.__proto__ = animal; alert(cat.getName() === 'garfield'); // true alert(cat.meow() === 'Cat garfield is saying meow'); // true Вопрос: Не могу решить эту задачу , если кому не трудно , помогите ,пожалуйста. Хотя бы подскажите где я ошибаюсь. Не могу понять , как мне получить имя через функции getName |
function Animal(name){
this.name = name;
}
Animal.prototype.getName = function() {
return this.name;
};
function Cat(name) {
Animal.apply(this, arguments);
}
Cat.prototype = Object.create(Animal.prototype);
Cat.prototype.constructor = Cat;
Cat.prototype.meow = function() {
return 'Cat ' + this.getName() +' is saying meow';
};
var cat = new Cat('garfield');
alert(cat.getName() === 'garfield'); // true
alert(cat.meow() === 'Cat garfield is saying meow'); // true
|
Спасибо Вам большое )
Когда же я так буду программировать ))) |
Цитата:
|
Где то год , но с перерывами , так как работа в банке уже в печёнках сидит. После работы вообще ничего делать не хочется, хотя понимаю что надо.
|
Банк Мяу, класса Анимал. Студиозус, понимаешь.
|
Костя , :no:
|
| Часовой пояс GMT +3, время: 08:57. |