Problème POO

WRInaute accro
Bonsoir

Supposons une classe ( mettons classe1 ), et une autre classe ( classe2 ) dérivée de classe1, et qui surcharge une fonction example() membre de classe1.

La fonction example() surchargée dans classe2, rend false.

Est-ce que c'est la fonction example() de la classe classe1, qui sera appelée, si on instancifie classe2, et appelle example() ?

Code:
  class classe1 {

   private $tmp = 1;
   public example() {

    $tmp1++;
    return ($tmp);
  }
}

  class classe2 extends classe1 {

     public example() {

        return (false);

    }

}

  $x = new classe2;

  echo $x->example() . "<br />\n";;

  // Est-ce que la fonction classe1::example() va être appelée ( car example() surchargée rend false ), et afficher 2  ?

Merci beaucoup de vos réponses.

En fait, c'est pour surcharger la fonction rowCount() de la classe PDO, de telle manière qu'elle rende la fonction rowCount() de la classe père PDO quand cette fonction rowCount() surchargée, rend false.

J'ai lu un commentaire d'un Américain sur le PHP Manual, mais je ne suis pas sûr que rowCount() marche aussi pour les fonctions PDO::exec() , ou PDO::prepare() suivi de PDO::execute() , alors que cette fonction rowCount() est bien définie après ces fonctions, mais pas après la fonction PDO::query()

Bien à vous.

Amicalement.

Jean-François Ortolo
 
Nouveau WRInaute
Bonsoir,

L'appel de la fonction example() de la classe2 renverra toujours faux.

Pour appeler example de la classe1 à partir de la classe2, il faut utiliser parent::example();
 
WRInaute accro
luccé a dit:
Bonsoir,

L'appel de la fonction example() de la classe2 renverra toujours faux.

Pour appeler example de la classe1 à partir de la classe2, il faut utiliser parent::example();

Bonsoir luccé

Merci beaucoup de ta réponse. ;)

Maintenant, je sais comment compléter la classe MyPDO dérivée de la classe PDO, dans le commentaire donné par un Américain sur le PHP Manual.

Merci encore.

Bien à vous.

Amicalement.

Jean-François Ortolo
 
Discussions similaires
Haut