Freigeben über


Erstellen eigener Klassen

Die class-Anweisung definiert Klassen. Standardmäßig sind Klassenmember öffentlich zugänglich, d. h. jeglicher Code, der auf die Klasse zugreifen kann, kann auch auf den Klassenmember zugreifen. Weitere Informationen finden Sie unter JScript-Modifizierer.

Klassen mit Feldern

Felder definieren die Daten, die in einem Objekt verwendet werden, und ähneln den Eigenschaften in einem prototypbasierten Objekt. Im Folgenden ein Beispiel für eine einfache Klasse mit zwei Feldern. Eine Instanz der Klasse wird mit dem Operator new erstellt:

class myClass {
   const answer : int = 42; // Constant field.
   var distance : double;   // Variable field.
}

var c : myClass = new myClass;
c.distance = 5.2;
print("The answer is " + c.answer);
print("The distance is " + c.distance);

Ausgabe dieses Programms:

The answer is 42
The distance is 5.2

Klassen mit Methoden

Klassen können auch Methoden beinhalten. Dies sind Funktionen, die in der Klasse enthalten sind. Methoden definieren die Funktionen für die Bearbeitung der Daten in einem Objekt. Die oben definierte myClass-Klasse kann so umdefiniert werden, dass sie eine Methode enthält.

class myClass {
   const answer : int = 42;         // Constant field.
   var distance : double;           // Variable field.
   function sayHello() :String {    // Method.
      return "Hello";
   }
}

var c : myClass = new myClass;
c.distance = 5.2;
print(c.sayHello() + ", the answer is " + c.answer); 

Ausgabe dieses Programms:

Hello, the answer is 42

Klassen mit Konstruktoren

Sie können für eine Klasse einen Konstruktor definieren. Ein Konstruktor, eine Methode mit dem gleichen Namen wie die Klasse, wird ausgeführt, wenn eine Klasse mit dem Operator new erstellt wird. Sie können für einen Konstruktor keinen Rückgabetyp angeben. Im folgenden Beispiel wird der myClass-Klasse ein Konstruktor hinzugefügt.

class myClass {
   const answer : int = 42;         // Constant field.
   var distance : double;           // Variable field.
   function sayHello() :String {    // Method.
      return "Hello";
   }
   // This is the constructor.
   function myClass(distance : double) {
      this.distance = distance;
   }
}

var c : myClass = new myClass(8.5);
print("The distance is " + c.distance);

Ausgabe dieses Programms:

The distance is 8.5

Siehe auch

Konzepte

Erweiterte Klassenerstellung

Weitere Ressourcen

Auf Klassen basierende Objekte

JScript-Objekte