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 :

Généricité et héritage


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 75
    Points : 54
    Points
    54
    Par défaut Généricité et héritage
    Bonsoir à tous.
    Soit les classes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public abstract class Mere {}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class Fille extends Mere {}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public abstract class MereDAO<T extends Mere> {}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class FilleDAO<Fille> extends MereDAO<Fille> {}
    Pourquoi la notation génère-t-elle une erreur de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bound mismatch: The type Fille is not a valid substitute for the bounded parameter <T extends Mere> of the type MereDao<T>
    puisque Fille étend Mere et que donc cela respecte ?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    la notation c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class FilleDAO extends MereDAO<Fille> {}
    En écrivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class FilleDAO<Fille> extends MereDAO<Fille> {}
    Tu défini un type générique "Fille". A partir de là "Fille" ne référence plus ta classe Fille, mais un type générique dont tout ce qu'on sait c'est qu'il étends Object.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Ah oui, cela m'avait échappé.
    Merci beaucoup.

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

Discussions similaires

  1. HashMap, généricité, wildcard, héritage, extension
    Par kenji_getpowered dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 01/04/2010, 17h40
  2. Généricité et héritage
    Par 84mickael dans le forum Langage
    Réponses: 6
    Dernier message: 25/06/2009, 04h02
  3. Généricité, héritage et Reflexion/introspection
    Par K-Kaï dans le forum Langage
    Réponses: 3
    Dernier message: 26/02/2009, 14h27
  4. Question de généricité et d'héritage
    Par fatypunk dans le forum Langage
    Réponses: 7
    Dernier message: 22/06/2008, 13h12
  5. Généricité et héritage
    Par TiteMarie dans le forum Langage
    Réponses: 3
    Dernier message: 27/05/2008, 12h17

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