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