Création de vos propres classes
Mise à jour : novembre 2007
L'instruction class définit des classes. Par défaut, les membres des classes ont un accès public. En d'autres termes, tout code pouvant accéder à la classe peut également accéder à ses membres. Pour plus d'informations, consultez Modificateurs JScript.
Classes avec champs
Les champs définissent les données utilisées par un objet et ressemblent aux propriétés d'un objet basé sur un prototype. L'exemple qui suit illustre une classe comportant deux champs. Une instance de la classe est créée avec l'opérateur **new **:
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);
Le résultat généré par ce programme est le suivant :
The answer is 42
The distance is 5.2
Classes avec méthodes
Les classes peuvent également comprendre des méthodes, qui sont les fonctions contenues dans la classe. Les méthodes définissent les fonctionnalités servant à manipuler les données d'un objet. La classe myClass définie ci-dessus peut être redéfinie afin d'y inclure une méthode.
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);
Le résultat généré par ce programme est le suivant :
Hello, the answer is 42
Classes avec constructeurs
Vous pouvez définir un constructeur pour une classe. Un constructeur, qui est une méthode portant le même nom que la classe, est exécuté lorsqu'une classe est créée avec l'opérateur new. Il n'est pas possible de spécifier un type de retour pour un constructeur. Dans cet exemple, un constructeur est ajouté à la 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);
Le résultat généré par ce programme est le suivant :
The distance is 8.5