Показать сообщение отдельно
  #1 (permalink)  
Старый 28.11.2014, 16:02
Интересующийся
Отправить личное сообщение для javacrypt Посмотреть профиль Найти все сообщения от javacrypt
 
Регистрация: 10.11.2014
Сообщений: 12

Вопрос о наследовании
Изучаю js, пытаюсь понять наследование.
function Product(name) {
	this.name = name;
}
	
Product.prototype = {
	getName: function() {
		return this.name;
	}
}

function Apple(name) {
	Product.call(this, name);
}
       
extend(Apple.prototype, Product.prototype);
	
function extend(child, parent) {
	for (var i in parent) { 
		child[i] = parent[i]; 
	}
}

var apple = new Apple("яблоко");
console.log(apple.getName());


Что плохого в использовании extend? То, что это копирование метода из одного прототипа в другой? То есть скопированный метод getName будет ссылаться не на Product.prototype, а на Apple.prototype? В этом проблема или в чём? Поясните, плз.

Последний раз редактировалось javacrypt, 28.11.2014 в 16:06.
Ответить с цитированием