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 :

héritage


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 108
    Par défaut héritage
    bonsoir a tous

    J'ai un probleme d'heritage ...

    Lorsqu'une classe herite d'une classe abstraite elle n'est pas obligé d'hériter de toutes ses méthodes. OK ?

    voici mon arborescence
    - Engin (classe abstraite qui dispose des méthodes abstraite FaireA() et FaireB() )
    - Véhicule (classe abstraite qui hérite de Engin et qui implemente une méthode FaireB() )
    - Voiture(classe abstraite qui hérite de Véhicule et qui n' implemente pas de méthode et le pb est la ... )
    - VoitureRouge (classe non abstraite et qui hérite de Voiture et qui n'implemente aucune méthode )

    Le probleme erreur de compil :
    voitureRouge is not abstract and does not override faireA()

    que faire merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Par défaut
    Effectivement, une classe dérivée d'une classe abstraite n'est pas obligée de redéfinir toutes les méthodes abstraites de la classe de base.

    MAIS, dans ce cas la classe dérivée devient elle aussi abstraite.


    Donc, dans VoitureRouge, comme tu ne définis aucune méthode, ca ne marche pas. Car faireA() n'a jamais été définis.

    Je suppose que tu essayais de créer une instance de VoitureRouge ?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 108
    Par défaut
    C'est à dire que

    a partir du moment ou tu herite d'une classe abstraite
    soit tu herites de toutes ses methodes
    soit tu herites de certaines methodes et tu es aussi abstraite

    C'est ça ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Par défaut
    Le but d'une classe abstraite c'est d'obliger quelqu'un qui l'utilise a redéfinir toutes les méthodes abstraites.

    Donc, en effet, temps qu'il reste des méthodes abstraites non définies, la classe dérivée reste abstraite, donc non instanciable.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 108
    Par défaut
    Ok merci

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

Discussions similaires

  1. [Postgresql]Héritage
    Par lheureuxaurelie dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 02/10/2008, 09h18
  2. [Héritage] Vos commentaires....
    Par Fyna dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 03/05/2005, 22h10
  3. [XML Schemas]héritage multiple
    Par nicolas_jf dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 12h55
  4. [Postgres] Héritage + Clés
    Par k-reen dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 21/05/2003, 16h37
  5. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44

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