Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Задача по наследованию (https://javascript.ru/forum/events/51347-zadacha-po-nasledovaniyu.html)

Mess4me 03.11.2014 20:12

Задача по наследованию
 
Помогите , пожалуйста, решить задачу ниже.

Написать класс 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

Sweet 03.11.2014 20:24

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

Mess4me 03.11.2014 21:13

Спасибо Вам большое )
Когда же я так буду программировать )))

Sweet 03.11.2014 22:17

Цитата:

Сообщение от Mess4me
Когда же я так буду программировать

А сколько прогаешь?

Mess4me 04.11.2014 11:40

Где то год , но с перерывами , так как работа в банке уже в печёнках сидит. После работы вообще ничего делать не хочется, хотя понимаю что надо.

kostyanet 04.11.2014 15:53

Банк Мяу, класса Анимал. Студиозус, понимаешь.

Mess4me 04.11.2014 18:04

Костя , :no:


Часовой пояс GMT +3, время: 17:44.