IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Héritage en POO PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut Héritage en POO PHP
    Bonjour,

    J'ai une p'tite question concernant les héritages en programmation orienté objet en PHP.

    J'ai une classe mère avec une classe fille et une classe fille de la classe fille de la classe mère...

    Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Mère
      +--class Fille extends Mère
           +--class SSFille extends Fille
    Bon.
    Et je voudrais faire quelque chose de ce genre là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $var = new Fille();
    $var->constructMère();
    $var->constructFille();
    $temp = $var->constructSSFille(new SSFille());
    En gros, j'appelle plus tard la classe SSFille après avoir déjà construit une classe Fille et permettant d'utiliser les variables de cette classe. Est-ce possible ?

    Merci d'avance !!!

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Ce que tu dois pouvoir faire, c'est créer un objet Fille, puis par la suite créer un objet SSFille en lui passant en paramètre l'objet Fille (donc ça doit être prévu dans son constructeur) pour qu'il en récupères les infos (clonage).

    Mais tu ne peux pas changer un objet Fille en SSFille.

    Si tu as besoin de faire ça, c'est probablement un problème de conception, et que ta classe SSFille ne devrait pas véritablement hériter de Fille, mais plutôt l'utiliser...

  3. #3
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Ok.

    En faite j'essaye de créer un tableau HTML avec trois classe et sous-classes.

    Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class TabHTML (crée les balises 'table' et 'tbody')
       +--class TR extends TabHTML (crée le nombre de ligne souhaité)
               +--class TD extends TR (crée ligne par ligne le nombre de cellule souhaité
    Ce ne serait pas de l'héritage mais de l'utilisation à ton avis ?

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Oui, c'est bien ça.

    Pour qu'une classer fille hérite d'une classe mère, il faut pouvoir dire que les objets 'filles' sont aussi des 'mères'. Or, une ligne n'est pas un tableau, et une cellule n'est pas une ligne (ni un tableau).

    Éventuellement, on pourrait créer une classe 'balise' qui aurait trois filles 'table', 'tr' et 'td'.

    Par contre, tu peux avoir des liens entre ces trois classes : un tableau contient des lignes qui elles-mêmes contiennent des cellules. Si je devais gérer ça, je ferais donc une classe 'table' qui a une propriété 'lignes' destinée à recevoir un array (en anglais, pour ne pas confondre avec la classe tableau ) d'objets 'tr', etc...

  5. #5
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Ok. Grâce à toi je comprends mieux le lien dans les héritages !

    Quand tu parles de :
    une classe 'table' qui a une propriété 'lignes'
    la propriété, c'est un attribut ?

  6. #6
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par Badaboumpanpan Voir le message
    Ok. Grâce à toi je comprends mieux le lien dans les héritages !

    Quand tu parles de :

    la propriété, c'est un attribut ?
    Oui c'est ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] PHP 5 - gestion de la persistance
    Par BRAUKRIS dans le forum Langage
    Réponses: 12
    Dernier message: 07/07/2010, 14h34
  2. [POO] PHP et héritages
    Par GofFazer dans le forum Langage
    Réponses: 4
    Dernier message: 13/02/2008, 18h06
  3. Réponses: 2
    Dernier message: 21/10/2005, 12h26
  4. [POO] [PHP 5 CLASSES]Source à part?
    Par Jean_Benoit dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2005, 12h50
  5. [POO] PHP et la gestion des classes
    Par Acti dans le forum Langage
    Réponses: 7
    Dernier message: 23/09/2005, 01h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo