-
Notifications
You must be signed in to change notification settings - Fork 3
[FR] 2.1 Constructor & Deconstructor
Les fonctions constructor et deconstructor en OOP ont un usage special. Si vous les appelez, vous devez le faire à partir de la class et non à partir d'un objet. C'est un peu compliqué à comprendre pour commencer, mais vous devriez considérer ces méthodes comme statiques et utilisable avec la classe.
constructor est la première fonction qui est appelé au moment de l'instanciation de l'objet. Son rôle est d'initialiser les variables de l'objet. Contrairement aux autres langages, le nom de constructor en OOP est constructor
Pour instancier un objet en OOP, vous devez apeller la fonction new qui ensuite apelle elle même la function constructor. La fonction constructor doit être déclarée avec la visibilitée PUBLIC
Exemple
PUBLIC FUNCTION("string","constructor") {
MEMBER("name",_this);
};
_myfooobject = ["new", "Thomas"] call OO_FOO;
ou
_myfooobject = NEW("Thomas",OO_FOO);
instanciera un objet _myfooobject de type FOO, et donnera la valeur Thomas à la variable name.
deconstructor est la dernière function à être appelé au moment de la destruction de l'objet. Son rôle est de libérer l'ensemble des variables de l'objet.
Pour appeler le deconstructor, on doit appeler la fonction delete qui appelle ensuite elle même la fonction deconstructor
La fonction deconstructor doit être déclaré avec une visibilité PUBLIC
Example
PUBLIC FUNCTION("string","deconstructor") {
DELETE_VARIABLE("name");
};
["delete", _myfooobject] call OO_FOO;
ou
DELETE(_myfooobject);
delete va détruire l'objet _myfooobject de type OO_FOO et écrasera le contenu de la variable name avec nil.