Une classe est une structure de référence à partir de laquelle se concrétise un objet.
Le code au sein d'un module de classe, décrit :
Les composants d'une classe, ceux précités, sont appelés les membres d'une classe.
D'autre part, les caractéristiques des attributs telles que leur type de données et leur valeur sont appelées les propriétés que possédera l'objet suite à sa création et à son exploitation.
Une classe est conçue à partir de l'instruction class qui contiendra la déclaration des attributs ainsi que les fonctions et leurs instructions.
[final|abstract] class nom_classe { // Déclarations des attributs $attribut_1; //... $attribut_N; // Déclarations des méthodes function nom_fonction_1 (param_1, ..., param_N) { [$this->attribut_1 = valeur;] //bloc d'instructions... } //... function nom_fonction_N (param_1, ..., param_N) { [$this->attribut_1 = valeur;] //bloc d'instructions... } }
Une classe possède donc des attributs et des méthodes, lesquels fournissent à l'objet, instance de cette classe, un état et un comportement.
Dans une classe, la pseudo-variable $this constitue une référence vers l'objet courant, qui permet à une fonction d'accéder aux méthodes et attributs déclarés dans la classe courante.
Ensuite, un objet est créé au moyen d'une instanciation de la classe par l'intermédiaire de l'instruction new.
$objet = new nom_classe();
A partir de l'objet, il devient possible d'accéder à ses attributs et méthodes en utilisant un tiret '-' suivi d'un signe supérieur à '>' entre le nom de l'objet et respectivement le nom de l'attribut ou de la fonction déclarées dans la classe.
Exemple [voir]// Accès aux propriétés de l'objet $nom_objet->nom_attribut = valeur; // Accès aux méthodes de l'objet $nom_objet->nom_fonction(arg_1, ..., arg_N);
<?php class surface { var $hauteur; var $longueur; var $rayon; var $diametre; function triangle($H, $L) { $this->hauteur = $H; $this->longueur = $L; return $H * $L / 2; } function rectangle($H, $L) { $this->hauteur = $H; $this->longueur = $L; return $H * $L; } function carre($L) { $this->longueur = $L; return $L * $L; } function cercle($T, $type) { if ($type = 'd') { $this->diametre = $T; return (pow(2, $T) * M_PI) / 4; } else { $this->rayon = $T; return pow(2, $T) * PI; } } } $d = 12; $choix = array('d' => 'diamètre', 'r' => 'rayon'); $calculSurface = new surface(); $resultat = $calculSurface->cercle($d, $choix['d']); echo 'La surface du cercle avec un <b>' . $choix['d'] . '</b> de <b>' . $calculSurface->diametre . ' cm</b> est <b>' . $resultat . ' cm<sup>2</sup></b>.'; ?> |