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 :

[POO] Classes, héritage et implémentation


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut [POO] Classes, héritage et implémentation
    Bonjour,

    Je souhaiterai avoir un peu d'aide sur la Poo PHP :
    Voici le modéle :

    J'ai un objet que l'on va dire [être vivant]
    il doit a la fois hériter de la classe [type]
    et de la classe [fonction]
    mais également exceptionnellement de la classe [don]
    alors j'ai cru comprendre qu'en php on ne pouvait pas hériter de plusieurs classes.
    il qu'il fallait faire une interface est ce que je suis dans le vrai?

    La classe [type] hérite déjà d'une classe, qui elle même hérite d'une autre classe.

    dans ce cas j'aurai une interface du genre :
    interface :
    [type]
    [fonction]
    [don]

    et mon objet [être vivant] qui implémente cette interface?

    ou est ce que mon objet peut hériter des 3 classes?

    Je voudrai savoir si je pars pas dans une mauvaise utilisation de la Poo

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par Lezepal Voir le message
    Je voudrai savoir si je pars pas dans une mauvaise utilisation de la Poo
    explique nous plus en détails ce que dont chaque classe comme ça on pourra peut-être te donner des conseils
    GNAP !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Je vais essayer d'être plus précis.

    Ce que je souhaite obtenir à la fin c'est une créature.

    Dans l'optique de la programmation objet je souhaite que tout soit réutilisable, je decoupe donc ma programmation comme ça

    Une classe Base qui défini tout ce qui est commun au créature, elle parle, marche, vivent, meurt etc...

    Ensuite j'ai une classe qui hérite de Base mais qui approfondie les méthodes définie dans Base, elle mange maintenant seulement un type précis de nourriture et peut vivre tant de temps.

    J'ai ensuite une autre classe générale qui défini des regles d'Affrontement.

    Je désire pour finir créer une classe Lion qui hérite donc d'une classe spécifique Félin héritant elle même de la classe Base mais qui possède aussi les méthodes de la classe CombatDeLion qui est un héritage de la classe Affrontement

    mon objet sera donc créé depuis la classe Lion.

    Je souhaite également pouvoir surcharger ma classe Lion pour pouvoir par exemple faire un lionceau ou un lion des neiges.

    En gros :
    Base_______>___Félin_____>
    -----------------------------+>Lion>Lionceau/Lion des Neiges
    Affrontement>CombatDeLion>

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    J'ai trouvé une partie de ma réponse ici http://www.developpez.net/forums/d64...tage-multiple/

    Du coup je suis embêté, car ca complique les choses...comment est ce que je peux faire une interface de mes deux classes, étant donné que je crois que dans une interface on déclare seulement les méthodes... et si on peut declarer les classes et ce qu'il me faudra à chaque fois redéfinir toutes les méthode de mes classes mère?

    Je suis perdu, j'avais commencé la Poo sur Java, et j'ai pris une certaine aise du coup qu'il va me falloir oublier je pense.

  5. #5
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par Lezepal Voir le message
    qui possède aussi les méthodes de la classe CombatDeLion qui est un héritage de la classe Affrontement
    le problème est là
    tu as d'un coté des classes qui héritent de "Base" et qui sont donc des créatures.
    Et d'un autre coté tu as des classes qui héritent de "Affrontement" et qui représentent des actions. Ce n'est pas du tout le même concept donc les classes "Affrontement" doivent être utilisées par les classes "Base" et surtout pas hériter d'elles
    GNAP !

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Préférer la composition à l'héritage.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

Discussions similaires

  1. [POO] classe héritage et assert
    Par sarainformatique dans le forum C++
    Réponses: 2
    Dernier message: 12/12/2008, 17h45
  2. [POO] Problème héritage des classes PHP4
    Par zana74 dans le forum Langage
    Réponses: 2
    Dernier message: 15/08/2006, 16h00
  3. Réponses: 3
    Dernier message: 19/05/2005, 10h46
  4. [POO] Class Défilementa automatique d'images avec animation
    Par rakoto.n dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/01/2005, 18h21

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