Creazione di classi personalizzate

L'istruzione class consente di definire classi. Per impostazione predefinita, i membri di classe sono accessibili pubblicamente. Pertanto, il codice che può accedere alla classe può anche accedere al membro della classe. Per ulteriori informazioni vedere Modificatori JScript.

Classi con campi

I campi definiscono i dati utilizzati da un oggetto e sono simili alle proprietà di un oggetto basato su un prototipo. Quello che segue è un esempio di semplice classe con due campi. Mediante l'operatore new viene creata un'istanza della classe:

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);

L'output del programma è il seguente:

The answer is 42
The distance is 5.2

Classi con metodi

Le classi possono anche contenere metodi, che sono funzioni contenute all'interno della classe. I metodi definiscono le funzionalità per la modifica dei dati di un oggetto. La classe myClass definita in precedenza può essere ridefinita per includere un metodo.

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); 

L'output del programma è il seguente:

Hello, the answer is 42

Classi con costruttori

È possibile definire un costruttore per una classe. Un costruttore, che rappresenta un metodo con lo stesso nome della classe, viene eseguito quando una classe viene creata utilizzando l'operatore new. Non è necessario specificare il tipo restituito dal costruttore. In questo esempio viene aggiunto un costruttore alla classe myClass:

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);

L'output del programma è il seguente:

The distance is 8.5

Vedere anche

Concetti

Creazione di classi avanzate

Altre risorse

Oggetti basati su classi

Oggetti JScript