[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
.