Classes et objets
CHAPITRE 9
200
$q->affiche() ;
$q->deplace (3, 6) ;
$q->affiche() ;
$r = new Point (5, 8) ;
$r->affiche() ;
class point
{ public function __construct ($x = 0, $y = 0) // valeur 0 par défaut pour $x et $y
{ $this->abs = $x ; $this->ord = $y ;
// notez $this->...
}
public function deplace ($dx, $dy)
{ $this->abs += $dx ; $this->ord += $dy ; }
public function affiche ()
{ echo "Je suis un point de coordonnées ", $this->abs, " ", $this->ord, "
" ;
}
private $abs, $ord ;
// mode d’accès obligatoire ici
}
?>
Je suis un point de coordonnées 0 0
Je suis un point de coordonnées 3 0
Je suis un point de coordonnées 6 6
Je suis un point de coordonnées 5 8
C++
Rappelons qu’en C++, par défaut, la gestion des objets est réalisée par valeur. Une simple déclaration telle
que :
Point p(3,5)
réserve l’emplacement pour un objet de type Point et appelle le constructeur.
Généralement, pour une classe donnée, on distingue ce que l’on nomme :
• la déclaration d’une classe, laquelle comporte les en-têtes des méthodes (nommées souvent fonctions
membres en C++) et la déclaration des attributs (nommés souvent membres données) ;
• la définition des méthodes.
La compilation de la définition des méthodes d’une classe donnée ou la compilation d’un programme utilisant une classe donnée nécessite d’en connnaître la déclaration. Généralement, celle-ci est placée, une
fois pour toutes, dans un fichier d’extension .hpp, qui est incorporé pour la compilation par une
« directive » #include appropriée. La définition de la classe, quant à elle, est compilée une fois pour toutes et fournie sous forme d’un module objet qui sera utilisé par l’éditeur de liens pour constituer le programme exécutable.
Précédent

- 223/370

Suivant