Outils pour utilisateurs

Outils du site


informatique:programmation:php:poo

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:programmation:php:poo [2011/10/19 18:19] – benoitinformatique:programmation:php:poo [2011/10/19 18:22] (Version actuelle) – benoit
Ligne 449: Ligne 449:
  
 Restreindre l'héritage d'une classe (classe finale ne pouvant être héritée) et la empêcher réécriture d'une methode.  Restreindre l'héritage d'une classe (classe finale ne pouvant être héritée) et la empêcher réécriture d'une methode. 
 +
 <sxh php> <sxh php>
   <?php   <?php
Ligne 475: Ligne 476:
   ?>   ?>
 </sxh> </sxh>
 +
 +==== Résolution statique à la volée ====
 +<sxh php>
 +  <?php
 +  class Mere
 +  {
 +    public static function lancerLeTest()
 +    {
 +       self::quiEstCe();
 +    }
 +
 +    public function quiEstCe()
 +    {
 +      echo "Je suis la classe Mere !\n";
 +    }
 +  }
 +
 +  class Enfant extends Mere
 +  {
 +    public function quiEstCe()
 +    {
 +       echo 'Je suis la classe Enfant !';
 +    }
 +  }
 +
 +  Enfant::lancerLeTest();
 +  ?>
 +</sxh>
 +
 +Résultat attendu :
 +  Je suis la classe Mere !
  
 ==== Pour résumer ==== ==== Pour résumer ====
   * Avec l'attribut **protected** il est possible de permettre au classe fille d'utiliser l'attribut contrairement à l'attribut **private**   * Avec l'attribut **protected** il est possible de permettre au classe fille d'utiliser l'attribut contrairement à l'attribut **private**
   * **abstract** dans une classe empèche d'utiliser cette classe en dehors d'une classe fille   * **abstract** dans une classe empèche d'utiliser cette classe en dehors d'une classe fille
-  * **abstract** dans une méthode oblige les classes filles à réécrire la méthode+  * **abstract** dans une méthode oblige les classes filles à réécrire la méthode.
   * **final** permet de déclarer une méthode ou classe comme non "héritable"   * **final** permet de déclarer une méthode ou classe comme non "héritable"
   * **parent::methode()** permet de reprendre les éléments d'une methode parente y ajouter modifier des éléments   * **parent::methode()** permet de reprendre les éléments d'une methode parente y ajouter modifier des éléments
informatique/programmation/php/poo.1319048362.txt.gz · Dernière modification : (modification externe)