Définit le style de la bordure gauche
Une des choses les plus importante en programmation orienté objet est la classe.
La programmation orienté objet repose sur ce concept qui est les classes.
Si vous comprenez ce concept de base, vous avez alors fait presque la moitié du chemin.
Les classes sont des usines à fabriquer des objets . On crée une classe pour un objet et à partir de cette classe on peut créer autant d’objet qu’on veut.
Une « classe » est un modèle de données définissant la structure commune à tous les objets qui seront créés à partir d'elle.
Plus exactement, nous pouvons dire qu’une classe est un moule grâce auquel nous allons créer autant d'objets de même type et de même structure qu'on le désire.
Une classe est une entité regroupant des variables et des fonctions.
Chacune de ces fonctions pourra accéder aux variables de cette entité.
Dans le cas du véhicule de l’exemple du chapitre précédent, nous aurons par exemple une fonction rouler(). Cette fonction devra simplement modifier les variables $carburant et $compteur du véhicule.
Une classe est donc un regroupement logique de variables et de fonctions que tout objet créé à partir de cette classe possèdera.
On peut donc utiliser cette classe n’importe où dans nos pages Web pour créer des objets.Dans ce qui suit nous allons voir comment créer une classe et l’utiliser.
Le code suivant présente la manière de déclarer et de structurer une classe. Nous vous conseillons de suivre ces conventions d'écriture.
Syntaxe de base:
Nous vous conseillons vivement de suivre les conventions d'écriture suivante pour une meilleur clarité du code.
<?php
class NomDeMaClasse
{
// Attributs ou paramètre (les variables )
// Constantes
// Méthodes (les fonctions)
}
?>
Cette syntaxe est à retenir absolument.
Une classe est un type abstrait de données caractérisée par des propriétés (atributs et méthodes) communes à ses objets, et un mécanisme permettant de créer des objets ayant ces propriétés.
classe = instanciation + attributs (variables d'instances)+ méthodes
La visibilité d'un attribut ou d'une méthode indique à partir d'où on peut accéder à telle méthode ou tel attribut.
Nous allons voir ici 2 types de visibilité : public et private.
1) Le premier public, est le plus simple. Si un attribut ou une méthode est public, alors
on pourra avoir accès à cet attribut ou cette méthode depuis n'importe où, autant depuis
l'intérieur de l'objet (dans les méthodes qu'on a créées), mais aussi depuis l'extérieur.
Explication :
Quand on créera un objet, c'est principalement pour pouvoir exploiter ses attributs et méthodes.
L'extérieur de l'objet, c'est tout le code qui n'est pas dans votre classe c'est-à-dire qui n’est pas entre les accolades de votre classe.
L’intérieur de l’objet c’est le contraire de ce que nous avons vu précédemment et donc c'est tout le code qui est dans votre classe c'est-à-dire qui est entre les accolades de votre classe.
<?php
class MaClasse
{
// INTERIEUR DE LA CLASSE
}
EXTERIEUR DE LA CLASSE
?>
2) Le second private, impose quelques restrictions. On n’aura accès aux attributs et
méthodes que depuis l'intérieur de la classe,
c'est-à-dire que seul le code écrit entre les accolades de la classe pouvant accéder à un
attribut privé ou une méthode privée. Sinon, une erreur fatale s'affichera disant que vous
ne devez pas accéder à telle méthode ou tel attribut parce que c’est privé.
Les attributs sont les caractéristiques propres d'un objet.
Pour déclarer des attributs, on va donc les écrire entre les accolades, les uns à la suite des autres, en faisant précéder leurs noms du mot-clé private. C'est de cette manière qu'on peut interdire l'accès à nos attributs.
Nous avons vus dans le cours précédent l’exemple d’un objet véhicule
Ses caractéristiques sont :
Cette exemple nous donne la classe Véhicule suivante :
<?php
class Vehicule
{
// Attributs(les variables ) sont les suivates
private $roue = 4 ;
/* le nombre de roues du véhicule par défaut est 4 */
private $porte ;
private $carburant ;
private $compteur ;
// Constantes
// Méthodes (les fonctions)
}
?>
Vous pouvez initialiser les attributs lorsque vous les déclarez en leurs donnant une valeur qui sera la valeur par défaut comme ce que nous avons fait pour le nombre de roue dans l’exemple précédent.
Les méthodes sont les actions que l'on peut appliquer à un objet. Il s'agit en fait de fonctions qui peuvent prendre ou non des paramètres et retourner ou non des valeurs / objets.
Pour la déclaration de méthodes, il suffit de faire précéder le mot-clé function de la visibilité de la méthode.
Les méthodes n'ont en général pas besoin d'être masquées à l'utilisateur, vous les mettrez en général en public, à moins que pour une raison ou une autre vous voulez faire le contraire.
<?php
class Vehicule
{
// Attributs(les variables ) sont les suivates
private $roue = 4 ;
/* le nombre de roues du véhicule par défaut est 4 */
private $porte ;
private $carburant ;
private $compteur ;
// Constantes
// Méthodes (les fonctions)
public function deplacer()
{
/* Une méthode qui déplacera le véhicule (modifiera son attribut compteur).*/
}
}
?>
Il est aussi possible de déclarer des constantes propres à la classe. Contrairement au mode procédural de programmation, dans le monde de la programmation orientée objet une constante est déclarée avec le mot-clé const.
Remarque : une constante doit être déclarée et initialisée avec sa valeur en même temps.
Nous verrons dans un autre chapitre qui viendra plus de précisions sur les constantes.