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édentes Révision précédente
Prochaine révision
Révision précédente
informatique:programmation:php:poo [2011/10/19 20:15]
benoit
informatique:programmation:php:poo [2018/09/06 19:10] (Version actuelle)
Ligne 400: Ligne 400:
   echo $trucB->​test();​   echo $trucB->​test();​
   ?>   ?>
 +</​sxh>​
  
 Resultat attendu : Resultat attendu :
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 ====
 +  * 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 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"​
 +  * **parent::​methode()** permet de reprendre les éléments d'une methode parente y ajouter modifier des éléments
informatique/programmation/php/poo.1319048129.txt.gz · Dernière modification: 2018/09/06 19:00 (modification externe)