RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Pb d'héritage...

Forum : PHP - BDD
Sous Catégorie : BDD
Type du sujet : Sujet Normale
FAQ : FAQ PHP - BDD

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM PHP - BDD

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
PowOx
Membre du club
Avatar de PowOx
Inscrit : 22/08/2004
Messages : 494
Message
#61225
Posté le 23/04/05 à 21:04
Salut, j'ai un léger soucis d'héritage que je vais faire partager avec vous parce que vous êtes trop sympa ;)

[code]<?PHP
abstract class cContacts
{
protected $nom;

function __construct($nom)
{
$this->nom=$nom;
echo 'retour de constructeur de cContacts<br>';
}

function getNom()
{
return $this->nom;
}
}
?>[/code]

[code]<?PHP
class cContactsPro extends cContacts
{
private $societe;

function __contruct($nom)
{
echo 'retour de constructeur de cContactsPro<br>';
}

function getNom()
{
return $this->nom;
}
}
?>[/code]

[quote]$unContact = new cContactsPro('PowOx');[/quote]

Vous avez tout, les 2 classes et l'appel.
voici le résultat obtenu :
[quote]retour de constructeur de cContacts
PowOx [/quote]
Pkoi me donne-t-il le constructeur de cContacts et pas celui de cContactsPro ?

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

PowOx
Membre du club
Avatar de PowOx
Inscrit : 22/08/2004
Messages : 494
Message
#61229
Posté le 23/04/05 à 21:56
j'avais oublié un "s" :)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

PowOx
Membre du club
Avatar de PowOx
Inscrit : 22/08/2004
Messages : 494
Message
#61230
Posté le 23/04/05 à 22:16
mouais, à la limite c'est pas mieux ...


Fatal error: Cannot access protected property cContacts::$nom in

il me semblait pouvoir accéder a des données protégé depuis la classe fille. En private ça marche pas et en public il me demande de le mettre en static.

le mode static est indispensable pour utiliser les membres mère dans une classe fille ???

PowOx

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

PowOx
Membre du club
Avatar de PowOx
Inscrit : 22/08/2004
Messages : 494
Message
#61231
Posté le 23/04/05 à 22:23
bon, ben je suis obligé de passer par une méthode... m'enfin, tant que ça marche ;)

PowOx

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

PowOx
Membre du club
Avatar de PowOx
Inscrit : 22/08/2004
Messages : 494
Message
#61237
Posté le 23/04/05 à 22:41
En fait je ne vois pas pkoi je serais obligé de passer par une méthode, ça m'embète ...

je ne compte pas écrire les mêmes méthodes partout, surtout que la classe mère est en abstract, les méthodes n'ont pas lieu d'etre.

J'ai donc plutôt envie de déclarer les méthodes dans les classes filles mais ces dernières n'ont apparamment pas le droit d'accéder aux membres parents, comment faire ?

parent::$nom;
ne marche pas...

PowOx

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

windu
Membre du club
Avatar de windu
Inscrit : 08/07/2004
Messages : 691
Message
#61242
Posté le 24/04/05 à 01:18
tu te fais 1 match seul Powox? Smiley
Bon, pour répondre a ton pb, je vais devoir attendre qu'on me rende mon book "PHP5 avancé" Smiley
parce que sur le Net, j'ai pas trouvé ton bonheur (j'ai pas cherché longtemps mais bon...)
__________________________
FAQ PHP
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

PowOx
Membre du club
Avatar de PowOx
Inscrit : 22/08/2004
Messages : 494
Message
#61745
Posté le 27/04/05 à 23:52
pas d'autres réponses ? :p
allez y mesdames messieurs, 1 réponse offerte pour chaque réponse donnée :)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Gabacho
Membre du club
Avatar de Gabacho
Inscrit : 19/07/2004
Messages : 438
Message
#61748
Posté le 28/04/05 à 00:13
Bon, powox, comme il faut que je progresse encore énormement pour pouvir expliquer clairement les choses, je vais faire simple et te copier l'exemple du bouquin php5 avancés

class vehicule_a_moteur { function avancer() { echo "j'avance"; } } class voiture extends vehicule_a_moteur { function passer_la_vitesse($vitesse) { echo "je passe la vitesse $vitesse"; } } function avancer() { $this->passer_la_vitesse(1); parent::avancer(); } } $mavoiture = new voiture(); $mavoiture->avancer; //affiche "je passe la vitesse1" puis "j'avance"

__________________________
Gabacho

S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (les Shadocks)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Gabacho
Membre du club
Avatar de Gabacho
Inscrit : 19/07/2004
Messages : 438
Message
#61749
Posté le 28/04/05 à 00:16
Aprés d'autres (courte) recherche, il semble que oui il est indispensable de passer par une notation statique pour accéder à une classe parente.

Bon tu me dois deux réponses alors Smiley
__________________________
Gabacho

S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (les Shadocks)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

PowOx
Membre du club
Avatar de PowOx
Inscrit : 22/08/2004
Messages : 494
Message
#61750
Posté le 28/04/05 à 00:33
merci gabacho,
au final c'est bien comme ça que je fais, mais je pensais qu'il y avait plus simple et surtout, plus logique ... devoir déclarer 2 fois les mêmes méthodes ça me paraissait absurde, en même temps dans ton exemple c'est un peu plus concret, je pourrais aussi avoir un "scooter extends vehicule_a_moteur" mais ne pas avoir à passer de vitesse, donc surdéfinir la méthode.

mais en fait en php c'est une obligation ... domage :(

merci encore de cette précision ;)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM PHP - BDD



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.