vous savez pas expliquez. C'est tout.tu NE PEUX PAS REDEFINIR UNE METHODE FINALE or c'est ce que fait ton dernier code !!!!
la il serait temps de lire les messages précédent en prenant le temps de bien comprendre ce que l'on dit !
@+
O_ovous savez pas expliquez. C'est tout.tu NE PEUX PAS REDEFINIR UNE METHODE FINALE or c'est ce que fait ton dernier code !!!!
la il serait temps de lire les messages précédent en prenant le temps de bien comprendre ce que l'on dit !
@+
Code : Tout sélectionner
reproductionCode : Tout sélectionner
reproduction d'un petit qui naît vivantCode : Tout sélectionner
Code : Tout sélectionner
reproduction d'un petit qui sort aussitôt vivant de l'oeufCode : Tout sélectionner
reproduction de la classe vivipare en la déclarant finale.*Methode finale*J'espère ne pas être à côté de la plaque:
parfois un exemple concret illustre bien ces histoires d'héritages.... et je n'ai jamais trouvé mieux que les animaux...
une classe animaux a une fonction:la classe vivipare redéfinit cette fonction :Code : Tout sélectionner
reproductionCode : Tout sélectionner
reproduction d'un petit qui naît vivantla classe finale ovovivipare comme finale redéfinit cette fonction:Code : Tout sélectionner
la classe couleuvre utilise cette fonction sans pouvoir rien y ajouter. Si les couleuvres sont des ovovivipares d'un genre particulier, il faut enlever le statut de finale à la fonction de reproduction des ovovivipares.Code : Tout sélectionner
reproduction d'un petit qui sort aussitôt vivant de l'oeuf
la classe chiens redéfinit la fonctionToutes les classes de chiens utilisent cette fonction sans pouvoir rien y changer.Code : Tout sélectionner
reproduction de la classe vivipare en la déclarant finale.
On t'a déjà dit trois mille fois qu'on ne pouvait pas redéfinir une méthode finale héritée. Tu le fais exprès ? T'a testé ton code ? ça donne quoi ? Normalement cela te donnera le message d'erreur suivant Fatal error: Cannot override final method Papa::meth()Il faut faire ca
ex:
<?php class Papa { public final function meth { return 1 ; } } class enfant extends Papa { public final function meth { return 1 ; } } ?>
class Papa
{
public final function meth()
{
return 1 ;
}
public function meth2()
{
return 2;
}
}
class enfant extends Papa
{
public function meth2()
{
return 3;
}
}
$toto = new enfant();
echo $toto->meth();
echo '<br />';
echo $toto->meth2();
/*resultat
1
3
*/