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

Сообщение от Voronar Посмотреть сообщение
В "классе" Interface я хочу сделать чистые виртуальные функции, то есть аналог С++ ООП-интерфейса.
Когда я буду реализовывать эти функции в Class1, Class2 и Classn, то функции прототипа Interface будут каждый раз перетираться. А я хочу иметь реализации функций из Interface для каждого экземпляра Class1, Class2 и Classn, и чтобы у меня имелось только одно объявления функции для каждого класса.
Можно описать эти классы по отдельности, но я хочу их наследовать от базового виртуального класса Interface.
Не знаю, что там в ++, но похоже на это.
function Interface() {}; 
Interface.prototype.p1 = "property1";
 
function Class(prop) {if(prop) this.p1=prop};
Class.prototype = new Interface
 
o1=new Class();
o2=new Class("foo")
alert([o1.p1, o2.p1]);

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