oujood.com

Constructeurs dans une classe


chercher |

PHP cours tutorial

Constructeurs dans une classe

PHP permet aux développeurs de déclarer des constructeurs pour les classes.

 Les classes qui possèdent une méthode constructeur appellent cette méthode à chaque création d'une nouvelle instance de l'objet, ce qui est intéressant pour toutes les initialisations dont l'objet a besoin avant d'être utilisé.

Cette méthode peut demander des paramètres, auquel cas nous devrons les placer entre les parenthèses que vous voyez après le nom de la classe.

On déclare un constructeur comme suit :

__construct ([ $args [, $... ]] )

Revenant à notre classe Vehicule et déclarant un constructeur

Code de « Vehicule.php »:

Exemple :     📋 Copier le code

  <?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 ;
   private $tauxConsomation ;
      // Constantes
      // Méthodes  (les fonctions)
  // constructeur
  public function __construct ($roue, $porte, $carburant, $compteur,$tauxConsomation )
          {
  // Message affiché quand un  objet est créé.
              echo 'Voici le constructeur <br />';
  // initialisation des paramètres.
              $this->roue = $roue;
              $this->porte = $porte;
              $this->carburant = $carburant;
              $this->compteur = $compteur;
              $this->tauxConsomation = $tauxConsomation;
          }
  /* Une méthode qui déplacera le véhicule (modifiera son attribut compteur).*/
  public function deplacer()
          {
           $this->compteur = $this->compteur + 50;
          }
  /* Une méthode qui déplacera le véhicule (modifiera son attribut compteur).*/
  public function consommer()
          {
           $this->carburant = $this->carburant -($this->tauxConsomation * 50);
          }
  /* cette fonction sert à donner un nombre de roues à un véhicule*/                 
  public function setRoue($R)
          {
            $this->roue=$R;
           }
  /* ces fonctions servent à l’affichage des attributs (propriétés) ou accesseurs */
  public function roue()
          {
              return $this->roue ;
          }
  public function carburant()
          {
              return $this->carburant ;
          }
    }
  ?>
 

Remarquez que dans cet exemple j’ai donné au constructeur en paramètre tous les attributs de la classe, mais vous pouvez n’en mettre que ceux dont vous avez besoin pour votre application.

Nous allons créer deux instances de notre classe c’est à dire deux objets.

Mettez le code suivant dans un fichier « teste.php » comme suit et exécutez le :

Code de « teste.php » :

Exemple :     📋 Copier le code

  <?php
      function chargerClasse ($classe)
      {
          include( $classe.'.php'); /* On inclue la classe correspondante au paramètre
  passé*/
      }
      spl_autoload_register ('chargerClasse'); /* enregistrement de la fonction en
  autoload pour qu'elle soit appelée dès qu'on instancie une classe non déclarée*/
  $classe= "Vehicule" ;/* ici  on donne à la variable $classe la valeur maclass.php on suposant que le fichier qui
  contient la classe porte le même nom que la classe soit maclasse */
      $vehicule1 = new Vehicule (4,5,25,100,1.5); // Un premier vehicule.
      $vehicule2 = new Vehicule (6,2,70,200,3.5); // Un second vehicule.          
  ?>

Note :

0 Ne mettez jamais la méthode __construct avec le type de visibilité private car elle ne pourra jamais être appelée, vous ne pourrez donc pas instancier votre objet .

Par carabde 20 Aout 2014

Voir aussi nos tutoriel :

empty-cells

Spécifie si oui ou non d'afficher les frontières et de fond sur les cellules vides dans un tableau

fonction chunk_split, chunk_split

Scinde une chaîne

Comment acheter Bitcoin?

Certains pays adoptent le bitcoin comme monnaie légale, tandis que d'autres ont de sérieux doutes à son sujet