documentation flash private

Vous êtes ici: Les articles techniques » documentation » Eléments du langage ActionScript » Instruction private

Instruction private

class //someClassName//{
 private var //name//;
 private function //name//() {
 // your statements here 
 } 
}

Spécifie qu’une variable ou une fonction est disponible uniquement pour la classe qui la déclare ou la définit, ou pour les sous-classes de cette classe. Par défaut, une variable ou une fonction est disponible à tout appelant. Utilisez ce mot-clé si vous devez restreindre l’accès à une variable ou une fonction. Ce mot-clé est voulu comme une aide au développement du logiciel afin de faciliter de bonnes méthodes de codage telles que l’encapsulation, et non comme un mécanisme de sécurité permettant de dissimuler ou sécuriser les ddonnées sensibles. Il n’empêche pas obligatoirement l’accès à une variable lors de l’exécution.

Ce mot-clé est réservé aux définitions de classe et ne permet pas de créer des définitions d’interface.

Disponibilité : Flash Player 6 ; ActionScript 2.0

Paramètres

name:String - Nom de la variable ou de la fonction à spécifier en tant que privée.

Exemple

L’exemple suivant montre comment restreindre l’accès aux variables ou fonctions par l’utilisation du mot-clé private. Créez un nouveau fichier AS intitulé Alpha.as :

class Alpha {
 private var privateProperty = "visible only within class and subclasses";
 public var publicProperty = "visible everywhere";
}

Dans le même répertoire qu’Alpha.as, créez un nouveau fichier AS nommé Beta.as qui contiendra le code suivant :

class Beta extends Alpha {
 function Beta() {
 trace("privateProperty is " + privateProperty);
 }
}

Comme le montre le code suivant, le constructeur de la classe Beta peut accéder à la propriété privateProperty qui est héritée de la classe Alpha :

var myBeta:Beta = new Beta(); // Output: privateProperty is visible only within class and subclasses

Des essais pour accéder à la variable privateProperty en dehors de la classe Alpha ou d’une classe héritant de la classe Alpha entraînent une erreur. Le code suivant, qui est hors de toute classe, entraîne une erreur :

trace(myBeta.privateProperty); // Error

Voir également




veille
inscrits inscrits ! Compensation à la rédaction
  • Inscription au wiki
  • Connexion

vod