Les objets sont obtenus à partir d'une instanciation de classe.
Tous les objets sont issus de classes créées par l'intermédiaire de l'instruction class suivi d'un identificateur.
public class nom_classe{ //instructions... }
Un objet est caractérisé par des attributs le décrivant et des comportements représentant ces actions.
Les attributs sont en fait les variables contenues déclarées dans la classe de l'objet.
Les comportements sont les méthodes figurant dans cette même classe.
class calcul{ pivate $i = 10; private $j = 12; public function multiplication(){ echo $this->i . ' * ' . $this->j . ' = ' . $this->i * $this->j; } } /* Deux attributs i et j Une méthode multiplication */
L'utilisation d'un objet dans un programme est possible à condition de déclarer une instance d’un type de classe. Cette opération s'effectue à partir de l'opérateur new affectant une instance de classe à une variable.
$nom_objet = new nom_classe(); $operation = new calcul();
A partir de là, il devient possible d'utiliser les variables et les méthodes de la classe à partir de l'objet.
//premiere_operande = 10 $premiere_operande = $operation->i; //seconde_operande = 12 $seconde_operande = $operation->j; //affiche 10 * 12 = 120 $operation->multiplication(); //seconde_operande = 12 $operation->j = 24; //affiche 10 * 24 = 240 $operation->multiplication();
Chaque classe peut contenir une méthode spécialisée dénommée __construct(), laquelle permet d'initialiser les variables membres de la classe. Cette méthode ne peut renvoyer une valeur de retour.
Lors de l'utilisation de l'opérateur new, le constructeur est automatiquement appelé afin d'affecter des ressources telles que la définition et l'initialisation de variables, nécessitées par l’objet.
class calcul{ public $i; public $j; public function __construct($val1, $val2){ $this->i = $val1; $this->j = $val2; } public multiplication(){ return $this->i * $this->j; } } $operation = new calcul(250, 100); //affiche 250 * 100 = 25000 $resultat = $operation->multiplication(); echo $operation->i . ' * ' . $operation->j . ' = ' . $resultat;