Показать сообщение отдельно
  #2 (permalink)  
Старый 24.10.2014, 22:32
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Сообщение от Voronar
А то получается, что нужно сначала потратить память для создания объекта, а потом уже только я получаю возможность "наследования".
Короче, за пвмять особо не беспокойся. Так как на твой объект никто не ссылается, его загребет GC, но если это тебя беспокоит, можешь сделать вот так
function Interface() {};
Interface.prototype.p1 = "property1";
 
function Class() {};
Class.prototype = Interface.prototype
 
var obj = new Class();
alert(obj.p1);

Толко это не прокатит, если ты хочешь сделать Class реально наследником Interface, а не только наследовать от его прототипа. Но в твоем случае и так сойдет. То что ты написал, имеет смысл, только если
function Interface() {this.a=1; this.b=2};
Interface.prototype.p1 = "property1";
 
function Class() {};
Class.prototype = new Interface
 
var obj = new Class();
alert([obj.p1, obj.a, obj.b]);

Последний раз редактировалось terminator-101, 24.10.2014 в 22:40.
Ответить с цитированием