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

Java Discussion :

Problème Héritage et methodes


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 129
    Par défaut Problème Héritage et methodes
    Bonjour à tous,

    j'ai une classe x de laquelle hérite la classe x1, x2 et x3.
    J'ai besoin de définir une méthode method1() dans x1 et x2 mais pas dans x3.
    Dans cadre générique je parcours des objets de types x1, x2 et x3 dans laquel je fais appel à la méthode method1() alors qu'elle n'est pas défini dans x3.
    Quel test faut faire ou commenet changer la conception pour etre plus logique.

    Merci

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    2 possibilités (on ne peut pas trancher sans connaitre les details) :
    - Soit la fonctionnalité est logique pour x : on crée la methode dans x et les heritiers la possedent aussi. Comme on ne veut pas qu'elle soit utilisée par x3, on la surcharge pour ne rien faire ou bien générer une exception (c'est ce qui est fait par exemple dans les drivers jdbc).
    - Soit la fonctionnalité n'est pas logique pour x mais seulement pour x1 et x2. Dans ce cas, soit on est feignant et on fait comme dans le cas numero 1, soit on crée une interface avec method1() qui sera implementée par x1 et x2 mais pas par x ni x3.

    Mais bon, il faudrait un exemple plus concret pour pouvoir en dire plus...

    a+

  3. #3
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    A éviter au maximum mais l'opérateur instanceOf est ton ami.

  4. #4
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 129
    Par défaut
    Merci pour ta réponse, en fait j'ai appliqué la méthode 2,, j'ai cree une interface (Interf1)
    avec method1 et x1 et x2 l'implémentent.
    A part qu'en essayant de faire le parcours (mes objets de types x1,x2 et x3), j'ai pas su comment faire l'appel de method1
    <code>
    if obj instanceOf Interf1 {

    }
    </code>

  5. #5
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (obj instanceOf Interf1){
       Interf1 interf1= (Interf1) obj;
       ...
    }

  6. #6
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 129
    Par défaut
    Et dans ce cas, ça ne causera pas de problème( la définition de mehtod1 dans x1 et x2 n'est pas la meme).
    Est ce que l'appel se fera juste selon que le type de mon objet est de type x1 ou x2?

  7. #7
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Tu n'auras pas de problème.
    L’exécution sera liée au type concret de chaque objet!

Discussions similaires

  1. [POO] Problème héritage des classes PHP4
    Par zana74 dans le forum Langage
    Réponses: 2
    Dernier message: 15/08/2006, 16h00
  2. Problème Héritage JavaScript
    Par Flavien dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/07/2006, 13h29
  3. Problème héritage CWnd
    Par ptitJP dans le forum MFC
    Réponses: 4
    Dernier message: 21/04/2006, 11h41
  4. Réponses: 2
    Dernier message: 24/10/2005, 10h23
  5. [IDHTTP] Problème avec la methode post (login:pass@ww.url)
    Par Rayek dans le forum Web & réseau
    Réponses: 5
    Dernier message: 11/07/2005, 10h03

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