• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[OO] JS Inheritance Pattern

nrg_

New member
Hallo,

ich suche nach einer Vererbungsmethode ohne dabei Function mit Prototype zu modifizieren. Ich bräuchte dabei eine Möglichkeit auf super-Methoden zugreifen zu können, was auch bei Mehrfachvererbung funktionieren soll. Zudem sollen die Konstruktorparameter der Unterklasse an die Superklasse übergeben werden.

Mir gefällt dieses Pattern ganz gut:
John Resig - Simple JavaScript Inheritance

Da weiß ich allerdings nicht, wie ich private Eigenschaften und Methoden hinzufüge. Das wird sogar in den Kommentaren besprochen. Ich krieg es aber irgendwie nicht hin... Jemand einen Tipp?

Grüße
nrg

- - - Aktualisiert - - -

Hab's rausgefunden. Mit einer Closure wäre das möglich:

Code:
var MySubClass = Class.extend((function(){
	var priv = "my priv";
	return	{
		init : function(){
			this._super();
		},
		someFunc : function(){
			// Call the inherited version of someFunc()
			return this._super();
		}
	};
})());

Dabei muss man aber beachten, dass priv hier von allen Instanzen geteilt wird (analog static aus OO-Sprachen). Private Instanz-Eigenschaften müsste man in init mit getter und ggf. setter hinzufügen:

Code:
init : function(){
	this._super();

	var priv2 = "my priv non static";
	this.getPriv2 = function() {
		return priv2;
	};
},

Thema erledigt
 
Zurück
Oben