Klassen

Vergessen Sie, was Sie über Funktionen wissen. Vergessen Sie, dass Funktionen Aufgaben erledigen und einen Rückgabewert zurückliefern. Vergessen Sie, dass sie dazu benutzt werden, um einen ganzen Code-block auf einen einfachen Namen zu reduzieren. Funktionen sind in Wirklichkeit nur Vorlagen um Eigenschaften eines Objektes zu ändern. Das Stichwort hier heisst Vorlage. Diese Vorlage kann dazu benutzt werden, um neue Objekte zu erstellen, ausserdem um bereits existierende Objekte zu modifizieren. Sie könne beliebig viele Objekte mit Hilfe einer solchen Vorlage erstellen.

Sie können so eine Vorlage weder essen, anfassen noch riechen, Sie können lediglich Objekte daraus machen. Es kann hilfreich sein sich Vorlagen als Ideen vorzustellen, und Objekte als Dinge in der echten Welt (z.B. der Plan eines Gebäudes und das Gebäude selbst). Das Ganze wird ein wenig abstrakt, wie auch immer, auch dies ist ein einfaches Konzept, hier ein Beispiel:

Vorlage = function()
{
this.x = 5;
this.y = 7;
}

inst1 = new Vorlage( );
inst2 = new Vorlage( );
inst3 = new Vorlage( );

trace( inst1.x); // 5
trace( inst1.y); // 7
trace( inst2.x); // 5
trace( inst2.y); // 7...

Grosschreibungs Tip

Klassen sollten immer mit einem Großbuchstaben beginnen. Instanzen hingegen sollten immer mit einem Kleinbuchstaben beginnen. Wenn Sie sich an diese Grundregel halten, wird es immer einfach sein, beides auseinanderzuhalten.

Merken Sie sich: KlassenName - instanzName

 

Das in der OO Terminologie benutzte Wort für diese Vorlagen sind "Klassen". Eine Klasse ist eine Vorlage für neue Objekte, diese Objekte nennt man Instanzen. Objekte und Instanzen sind ein und dasselbe und beide Begriffe können vertauscht werden. Der Vollständigkeit halber sei hier jedoch angemerkt, dass Instanz eher auf ein Objekt deutet, welches von einer Klasse erzeugt wurde, und Objekt ein eher allgemein benutzter Begriff für alle Objekte ist.

Weil Instanzen von Klassen kommen und Klassen Instanzen erstellen, ist es einfacher beide zusammen zu erklären, also lassen Sie uns gleich zum nächsten Kapitel "Instanzen" übergehen.

 






Navigation
Einleitung · Objekte · Klassen · Instanzen · Lokal · Vererbung · Prototypen · Overriding · Overwrite · Protection · Argumente · Konstruktor · Methoden · __proto__ · arguments[] · callee · caller