Et même déclarer des pointeurs sur des objets, puisque eux aussi occupent une zone mémoire :
Var
ecran :Ecran
pEcran :pointeur sur Ecran
Par convention les variables objets, qui seront simplement appelées objets par la suite, commencent souvent par la
lettre o : oEcran1, o1, o2, etc. Mais vous n’êtes absolument pas obligé de suivre cette convention, sauf si votre
responsable, chef, professeur vous l’impose.
Vous accédez aux divers membres de l’objet en utilisant le point "." entre le nom de l’objet et ses membres,
exactement comme pour une structure. La seule différence est qu’après le point vous n’avez plus forcément un champ
(un attribut) mais aussi un sousprogramme (une méthode). Quand vous placez une méthode après le point, vous
lancez l’exécution de celleci.
Type
Classe Ecran
...
FinClasse
Programme obj1
Var
o1 :Ecran
Début
// modification des attributs
o1.type←"LCD"
o1.connecteur←"VGA"
// accès direct aux attributs
Afficher o1.type
// appel aux méthodes
o1.mise_en_veille()
o1.ralumer()
o1.affiche_modèle()
Fin
6. Les méthodes
Regrouper les fonctions et les données au sein d’une même structure appelée objet est déjà bien plus cohérent pour
la pensée. Mais comment manipuler les attributs de l’objet au sein d’une de ses méthodes ? C’est là qu’est un très
gros avantage : alors qu’en programmation procédurale vous deviez passer la donnée (la variable) en argument, là
c’est totalement inutile : la méthode "sait" implicitement que l’attribut auquel il accède appartient à l’objet :
Classe Ecran
attributs
type :chaîne
...
méthodes
Procédure modifie_type(E :t :chaîne)
Début
type←t
FinProc
...
FinClasse
Il arrive parfois que des noms d’attributs soient identiques à ceux d’autres objets ou arguments passés en paramètres
de méthodes. Pour éviter la confusion vous pouvez explicitement désigner que le membre appartient à votre objet en
précisant le mot clé "this" suivi du point et de son nom. This sera remplacé par l’objet luimême lors de l’appel.
Classe Ecran
...
Procédure modifie_type(E :t :chaîne)
Début
this.type←t
FinProc
...
FinClasse
- 6 -
© ENI Editions - All rigths reserved - Jonifar lina
199
Var
ecran :Ecran
pEcran :pointeur sur Ecran
Par convention les variables objets, qui seront simplement appelées objets par la suite, commencent souvent par la
lettre o : oEcran1, o1, o2, etc. Mais vous n’êtes absolument pas obligé de suivre cette convention, sauf si votre
responsable, chef, professeur vous l’impose.
Vous accédez aux divers membres de l’objet en utilisant le point "." entre le nom de l’objet et ses membres,
exactement comme pour une structure. La seule différence est qu’après le point vous n’avez plus forcément un champ
(un attribut) mais aussi un sousprogramme (une méthode). Quand vous placez une méthode après le point, vous
lancez l’exécution de celleci.
Type
Classe Ecran
...
FinClasse
Programme obj1
Var
o1 :Ecran
Début
// modification des attributs
o1.type←"LCD"
o1.connecteur←"VGA"
// accès direct aux attributs
Afficher o1.type
// appel aux méthodes
o1.mise_en_veille()
o1.ralumer()
o1.affiche_modèle()
Fin
6. Les méthodes
Regrouper les fonctions et les données au sein d’une même structure appelée objet est déjà bien plus cohérent pour
la pensée. Mais comment manipuler les attributs de l’objet au sein d’une de ses méthodes ? C’est là qu’est un très
gros avantage : alors qu’en programmation procédurale vous deviez passer la donnée (la variable) en argument, là
c’est totalement inutile : la méthode "sait" implicitement que l’attribut auquel il accède appartient à l’objet :
Classe Ecran
attributs
type :chaîne
...
méthodes
Procédure modifie_type(E :t :chaîne)
Début
type←t
FinProc
...
FinClasse
Il arrive parfois que des noms d’attributs soient identiques à ceux d’autres objets ou arguments passés en paramètres
de méthodes. Pour éviter la confusion vous pouvez explicitement désigner que le membre appartient à votre objet en
précisant le mot clé "this" suivi du point et de son nom. This sera remplacé par l’objet luimême lors de l’appel.
Classe Ecran
...
Procédure modifie_type(E :t :chaîne)
Début
this.type←t
FinProc
...
FinClasse
- 6 -
© ENI Editions - All rigths reserved - Jonifar lina
199
