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 et redéfinition de méthodes


Sujet :

Langage Java

  1. #1
    Membre actif Avatar de Braillane
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 212
    Points : 203
    Points
    203
    Par défaut héritage et redéfinition de méthodes
    Bonjour,
    voila j'ai la classe durée et la classe longueDurée qui hérite de durée.
    Je ve redéfinir la méthode inf qui retourne vrai si la durée est inférieur à le durée en paramètre.
    Je voudrais juste que quelqu'un m'aide à redéfinir la fonction inf car j'ai de gros doute avec l'utilisation de super etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     public class durée
    {
        int seconde;
        int minutes;
        int heures;
        ...
        boolean inf (durée d)
       {
    return(this.getheures()<d.getheures()||(this.getheures()==d.getheures()&&this.getminutess()<d.getminutes())||(this.getheures()==d.getheures()&&this.getminutes()==d.getminutes()&&this.getsecondes()<d.getsecondes()));
         }
        ...
    }
     
    public class longueDurée extend durée
    {
        int jour;
        ...
        boolean inf (longueDuree d)
        {
            return(???????);
        }
    }
    Le but est évidemment d'utiliser au maximum la classe durée.
    Ce qui me pose problème est surtout que le type du paramètre ne soit plus le meme....

    Merci d'avance!!
    thibaultdelor.com
    SCJP & SCWCD

  2. #2
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    On dirait que tu recodes la classe Date. Pour la méthode inf, il serait plus judicieux de convertir tous les attributs en secondes, ce qui éviterait des comparaisons multiples. De plus, autant implémenter l'interface Comparable et coder la méthode compareTo() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    public class Duree implements Comparable
    {
    int secondes;
    int minutes;
    int heures;
     
    public int toSeconds()
    {
      return heures * 3600 + minutes * 60 + secondes; 
    }
     
    public int compareTo(Duree d)
    {
      return this.toSeconds() - d.toSeconds();
    }
     
    boolean inf(Duree d)
    {
      return compareTo(d) < 0;
    }
    }
     
    public class longueDuree extend Duree
    {
    int jour;
     
    public int toSeconds()
    {
      return jour * 86400 + super.toSeconds(); 
    }
     
    }

  3. #3
    Membre actif Avatar de Braillane
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 212
    Points : 203
    Points
    203
    Par défaut
    merci, cette solution est pas mal mais si je posais cette question c'est que c'est pour un exercice et qu'on nous oblige à respecifier inf...
    thibaultdelor.com
    SCJP & SCWCD

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Mise a part que ce code me fait peur (), ce que tu cherches a faire doit etre un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    boolean inf (longueDuree d) {
        return( this.getjour()<d.getjour() || (this.getjour()==d.getjour() && super.inf(d)) );
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre actif Avatar de Braillane
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 212
    Points : 203
    Points
    203
    Par défaut
    Merci beaucoup c'est excatement cela que je voulais...
    Je me demandais si c'étai possible d'appeler super.inf avec en parametre une longue durée étant donnée que le paramètre est censé etre une durée et non pas une longueDurée... Je comprend qu'on puisse appliquer un méthode de la classe durée sur une longueDurée étant donné que longueDurée hérite de durée mais la c'était en paramètre... bon voila koi! merci!!
    thibaultdelor.com
    SCJP & SCWCD

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

Discussions similaires

  1. Héritage et redéfinition de méthode
    Par bomehc dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 29/06/2012, 16h23
  2. Réponses: 3
    Dernier message: 29/07/2009, 21h18
  3. redéfinition de méthode et invocation
    Par magedo dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2007, 19h00
  4. Réponses: 4
    Dernier message: 03/07/2006, 22h52
  5. [JPanel][LayoutManager] redéfinition de méthodes
    Par _KB_ dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 06/06/2006, 14h22

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