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

avec Java Discussion :

Redondance dans les constructeurs


Sujet :

avec Java

  1. #1
    Invité
    Invité(e)
    Par défaut Redondance dans les constructeurs
    Bonjour,

    J'ai les deux constructeurs suivants :

    et celui-ci (ce n'est qu'une partie) :

    En fait, une partie du travail du deuxième constructeur reproduit ce que fait déjà le premier. C'est pourquoi j'aimerais faire appel au premier pour reconstruire la Grille. Toutefois, pour lancer un this(size), j'ai besoin de la variable size, qui doit être calculée dans ce cas-ci... Ce qui m'êmpeche de placer this(size) comme première instruction...

    Comment faire pour réécrire ça proprement ?
    Dernière modification par Invité ; 01/05/2011 à 13h25.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Je pense que tu devrais avoir quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class Grille {
        private final SchemeFile scheme = new SchemeFile();
     
        public Grille(String size) throws ErreursInit {
            this(scheme.readLine(s));
        }
     
        public Grille(int size) throws ErreursInit {
            [...]
        }
    }
    Lorsque tu fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (!new SchemeFile().schemeFileIsOK(s)) {
        throw new ErreursInit("Fichier illisible");
    }
    Tu effectues une vérification qui est sans doute déjà faite dans SchemeFile.readLine();

    Nota :
    D'ailleurs, tu devrais plutôt avoir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SchemeFile scheme = new SchemeFile();
     
    if (!scheme.schemeFileIsOK(s)) {
        throw new ErreursInit("Fichier illisible");
    }

Discussions similaires

  1. Liste d'initialisation dans les constructeurs
    Par Dani3L dans le forum C++
    Réponses: 4
    Dernier message: 25/12/2008, 19h36
  2. champs domain dans les constructeurs
    Par TrueBeliever dans le forum JDeveloper
    Réponses: 0
    Dernier message: 09/08/2008, 17h47
  3. [NF] redondances dans les entités et 1ere forme normale
    Par sarah_insat dans le forum Schéma
    Réponses: 5
    Dernier message: 12/05/2008, 14h04
  4. Débutant dans les constructeurs
    Par dot-_-net dans le forum C++
    Réponses: 16
    Dernier message: 31/03/2008, 23h24
  5. Réponses: 18
    Dernier message: 28/02/2007, 11h23

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