Сообщение от 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]);