Équivalent à « parent:: » fonctionnant avec les variables - PHP - Programmation
Marsh Posté le 10-11-2002 à 12:25:16
Les variables ont elles une classe parente?
Ca pourait expliquer pourquoi a marche pas.
PS : J'utilise pas la partie objet de php alors ma question est peut être très conne.
Marsh Posté le 10-11-2002 à 13:12:02
en utilisant le $this->attributParent, tu fait appel à la variable parent...
en héritant, tu ne fais que redéfinir de façon plus complète la classe, donc tout les attributs du parent sont des attributs de la classe héritée. (je vois pas trop ou se situe ton problème...)
Marsh Posté le 10-11-2002 à 15:01:38
Merci de me le rappeler. C'est comme ça que je fais actuellement, et je trouve pas ça bien propre.
J'aurais du dire : accéder explicitement aux variables de la class de base. Je chipote peut-être, mais il suffit que tu aies une méthode ou une variable de même nom dans les dexu class (si je pouvais, ça me serait utile), et c'est fini. On ne peut même pas accéder aux variables en spécifient le nom (ma_class::variable), c'est encore plus emmerdant !
En tout cas, je ne crois pas que ce soit possible.
Marsh Posté le 10-11-2002 à 15:50:26
éclaire moi un peu.
Je n'ai pas tellement d'expérience dans ces autres langages au niveau de l'héritage, c'est pourquoi que je demande ton avis sur ce qui suit
supposons :
- en java, c++ ou autre tu aies une classe qui contient certains attributs et méthodes.
- tu la dérives, en spécifiant des attributs de même nom mais en modifiant le type ou la valeur, et en redéfinissant les méthodes en changeant le nombre d'arguments.
Dans ta classe dérivée, tu peux accéder aux méthodes de la classe parente, mais les attributs seront ceux redéfinis par ta classe dérivée et ceux de la classe parente (non redéfinis). non ?
moi ça me semblerait logique, si tu ne veux pas modifier ces attributs, tu leur donne un autre nom. Donc en php aussi...
Marsh Posté le 10-11-2002 à 16:36:01
Qu'est qui te fait croire que je m'y connais en langages objects ? Mais airs supérieurs ?
Non, sans déconner, je suis complètement incompétent en construction object. Ça doit être pour ça que je pause ce genre de question...
En tout cas tu as sûrement raison.
Mais ce qui m'a trompé c'est (extrais de la doc officielle) :
Citation : parent |
http://www.php.net/manual/fr/keyword.parent.php
Ou encore :
Citation : Parfois, il est pratique de faire référence aux fonctions est variables d'une classe de base, ou bien d'utiliser des méthodes de classes qui n'ont pas encore d'objets créés. L'opérateur :: est là pour ces situations[...] |
http://www.php.net/manual/fr/keywo [...] otayim.php
Et ceci en Anglais comme en Français (les fautes sont d'origine). J'en ai bêtement déduit que c'était possible.
Marsh Posté le 11-11-2002 à 01:15:20
bha on croise de tout sur ce forum, du débutant au spécialiste, comme je suis pas un master en objet...
il est bien spécifié en commentaire
Citation : You can't access variables using parent:: |
Marsh Posté le 11-11-2002 à 15:36:54
Oui, mais quand tu télécharges la doc tu n'as pas les commentaires !
Marsh Posté le 10-11-2002 à 01:48:21
« Parent:: » est très pratique pour accédé à des fonctions de la class parente, mais (contrairement a ce qu'affirme la doc) ça ne fonctionne pas encore pour les variables.
Alors, y a t'il moyen d'accéder aux variables de la class parente avec PHP ?