Flash Lite 2 |
|||
| Guide de référence du langage ActionScript Flash Lite 2.x > Classes ActionScript > Object > prototype (propriété Object.prototype) | |||
public static prototype : Object
Une référence à la superclasse d'un objet classe ou fonction. La propriété prototype est créée automatiquement et est liée à tout objet classe ou fonction que vous créez. Cette propriété est statique dans la mesure où elle est propre à la classe ou la fonction que vous créez. Par exemple, si vous créez une classe personnalisée, la valeur de la propriété prototype est partagée par toutes les occurrences de la classe et est accessible uniquement en tant que propriété de classe. Les occurrences de votre classe personnalisée ne permettent pas d'accéder directement à la propriété prototype, mais peuvent y accéder par l'intermédiaire de la propriété __proto__.
Disponibilité : ActionScript 1.0 ; Flash Lite 2.0
L'exemple suivant crée une classe appelée Shape, ainsi qu'une sous-classe de Shape appelée Circle.
// La classe Shape est définie dans un fichier externe nommé Shape.as
class Shape {
function Shape() {}
}
// La classe Circle est définie dans un fichier externe appelé Circle.as
class Circle extends Shape{
function Circle() {}
}
La classe Circle permet de créer deux instances de Circle :
var oneCircle:Circle = new Circle(); var twoCircle:Circle = new Circle();
L'instruction trace suivante indique que la propriété prototype de la classe Circle pointe vers sa superclasse Shape. L'identifiant Shape fait référence à la fonction constructeur de la classe Shape.
trace(Circle.prototype.constructor == Shape); // Renvoie : true
L'instruction trace suivante indique comment combiner les propriétés prototype et __proto__ pour progresser de deux niveaux dans la hiérarchie d'héritage (ou le chaînage de prototype). La propriété Circle.prototype.__proto__ contient une référence à la superclasse de la classe Shape.
trace(Circle.prototype.__proto__ == Shape.prototype); // Renvoie : true
__proto__ (propriété Object.__proto__)