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 Java Discussion :

Lier des classes


Sujet :

Langage Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut Lier des classes
    Bonjour,

    j'aurais besoin d'aide pour lier les différents types de classes entre elles,c'est à dire savoir quelles sont les interfaces ,classes abstraites,classes.

    Alors,voici les classes à lier :

    Animal,Mammifere, Singe, Felin, Serpent, Chimpanzé, Orang-Outan, Lion, Tigre, Boa


    Merci par avance

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 816
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 816
    Points : 7 648
    Points
    7 648
    Par défaut
    Salut,

    Je crois que la dernière fois que j'ai fait un exercice de ce style, c'était en... maternelle!

    Bon, évidemment, ça ne s'appelait pas "classe abstraite" et consoeur... mais l'esprit y était!

    C'est quoi le problème exactement?

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par plegat
    Salut,

    Je crois que la dernière fois que j'ai fait un exercice de ce style, c'était en... maternelle!

    Bon, évidemment, ça ne s'appelait pas "classe abstraite" et consoeur... mais l'esprit y était!

    C'est quoi le problème exactement?
    Dans quel cas,utiliser l'abstrait plutot qu'une interface

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 816
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 816
    Points : 7 648
    Points
    7 648
    Par défaut
    Citation Envoyé par Premium
    Dans quel cas,utiliser l'abstrait plutot qu'une interface
    Je ne sais pas si on peut dire ça comme ça...

    La classe abstraite est une classe "générale" de laquelle vont hériter toutes les classes filles. Il faut donc qu'elle soit suffisamment générale pour pouvoir le faire.

    La spécialisation se fait ensuite avec les interfaces.

    Par exemple, dans ton cas, tu peux déjà séparer:

    1) d'un côté les classes Animal, Mammifère, Singe, Felin, Serpent (qui ne représentent pas un animal particulier)
    2) de l'autre les classes Chimpanzé, Orang-Outan, Lion, Tigre et Boa (qui représentent un animal particulier, donc qui en théorie sont au bout de la chaîne d'héritage)

    dans le premier groupe, tu peux mettre la classe Animal à part. Pourquoi? Parce que tu peux faire hériter les 4 autres de cette classe (tous sont des animaux). Il y a donc de fortes chance que la classe Animal soit donc une classe abstraite.

    Après, si on regarde, on a envie de s'orienter vers les Mammiferes d'un côté, les Serpents de l'autre. Ca, ça serait bien de le mettre en interface. Pourquoi? Parce tu vas pouvoir y définir toutes les méthodes communes à chaque groupe animal (les particularités des Mammiferes ne sont pas les mêmes que celles des Serpents). Les définir, mais pas les implémenter! C'est juste pour respecter un formalisme pour les classes qui l'implémenteront (un peu l'équivalent d'un moule...)

    Ensuite, il ne te reste plus qu'à prendre les classes qui restent, en les faisant hériter de Animal, et en implémentant l'interface qui convient.

    En gros, tu pourrais avoir:

    Animal (classe abstraite) > Singe (classe, avec interface Mammifere) > Chimpanzé (classe)

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par plegat
    Citation Envoyé par Premium
    Dans quel cas,utiliser l'abstrait plutot qu'une interface
    Je ne sais pas si on peut dire ça comme ça...

    La classe abstraite est une classe "générale" de laquelle vont hériter toutes les classes filles. Il faut donc qu'elle soit suffisamment générale pour pouvoir le faire.

    La spécialisation se fait ensuite avec les interfaces.

    Par exemple, dans ton cas, tu peux déjà séparer:

    1) d'un côté les classes Animal, Mammifère, Singe, Felin, Serpent (qui ne représentent pas un animal particulier)
    2) de l'autre les classes Chimpanzé, Orang-Outan, Lion, Tigre et Boa (qui représentent un animal particulier, donc qui en théorie sont au bout de la chaîne d'héritage)

    dans le premier groupe, tu peux mettre la classe Animal à part. Pourquoi? Parce que tu peux faire hériter les 4 autres de cette classe (tous sont des animaux). Il y a donc de fortes chance que la classe Animal soit donc une classe abstraite.

    Après, si on regarde, on a envie de s'orienter vers les Mammiferes d'un côté, les Serpents de l'autre. Ca, ça serait bien de le mettre en interface. Pourquoi? Parce tu vas pouvoir y définir toutes les méthodes communes à chaque groupe animal (les particularités des Mammiferes ne sont pas les mêmes que celles des Serpents). Les définir, mais pas les implémenter! C'est juste pour respecter un formalisme pour les classes qui l'implémenteront (un peu l'équivalent d'un moule...)

    Ensuite, il ne te reste plus qu'à prendre les classes qui restent, en les faisant hériter de Animal, et en implémentant l'interface qui convient.

    En gros, tu pourrais avoir:

    Animal (classe abstraite) > Singe (classe, avec interface Mammifere) > Chimpanzé (classe)

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

Discussions similaires

  1. Lier des composants graphique aux attributs d'une classe
    Par galeo27 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/11/2009, 17h52
  2. [JSTL] Lier des tags c:forEach imbriqués aux class de la servlet
    Par Joratois dans le forum Taglibs
    Réponses: 8
    Dernier message: 19/01/2009, 10h42
  3. Créer les get et set des classes
    Par cameleon2002 dans le forum JBuilder
    Réponses: 3
    Dernier message: 17/09/2003, 21h03
  4. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 09h35
  5. Inserer des classes java existantes
    Par 2000 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 20/03/2003, 12h35

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