PHP - étendre la méthode comme l'extension d'une classe
J'ai 2 classe:
class animal{
public function walk(){
walk;
}
}
class human extends animal{
public function walk(){
with2legs;
}
}
De cette façon, si je l'appelle l'homme->marcher(), il ne fonctionne with2legs;
Mais je veux lancer le parent à pied; trop.
Je sais que je peux le modifier de cette façon:
class human extends animal{
public function walk(){
parent::walk();
with2legs;
}
}
Mais le problème c'est que j'ai beaucoup de sous-classes et je ne veux pas mettre de parent::marcher(); dans chaque enfant marche(). Est il possible que je peux étendre une méthode comme je l'ai étendre une classe? Sans écraser, mais vraiment l'extension de la méthode. Ou est-il de meilleures solutions?
Grâce.
OriginalL'auteur Tony | 2013-06-18
Vous devez vous connecter pour publier un commentaire.
Je voudrais utiliser
"hook"
etabstraction
concepts :De cette façon, j'ai juste à appeler :
pour faire un enfant à marcher à sa façon...
Voir Méthode de modèle de modèle.
Oui, c'est une conception que j'utilise souvent. Assez utile dans certaines circonstances.
Je ne sais pas ce que Tony attend et quel est son réel de cas d'utilisation qui l'a poussé à poser cette question, mais c'est une façon de le faire. Et au pire, il s'est découvert une nouvelle possibilité ;-). Lit de temps pour moi... Cheers !
Savez-vous que c'est méthode de Modèle de modèle?
Non, je ne connaissais pas ce nom. Et c'est la première fois que je trouve utile pour les parents d'appeler la sous-classe de la méthode
OriginalL'auteur Gauthier Boaglio