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 :

Comment écrire le code d'une classe dans des fichiers différents


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Points : 29
    Points
    29
    Par défaut Comment écrire le code d'une classe dans des fichiers différents
    Bonjour,

    Je comprends que java tient absolument à rattacher le code à une classe mais quand on souhaite justement écrire le code de cette classe n'y a t'il pas moyen de le faire dans des fichiers séparés
    pour aérer la lecture du code. Par exemple j'ai un switch qui fait 1000 lignes pour 5 cas et j'aurais voulu mettre ces 5 cas dans des fichiers séparés, est ce possible ?

    La question pourrait se poser également pour des méthodes qui contiennent de nombreuses lignes qu'il serait pratique de pouvoir isoler par souci de lisibilité

    Merci
    D'avance
    Tinnitus

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 552
    Points : 15 463
    Points
    15 463
    Par défaut
    A ma connaissance, on ne peut pas faire ça directement. Dans ton cas particulier, pour contourner ça, tu peux éventuellement faire appel a une méthode statique dans une autre classe.

    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
    // fichier MaClasse.java
    class MaClasse{
      void fonction(int i){   
        switch(i){
          case 1: 
            MaClasseExtra.cas1();
            break;
          //...
       }
    }
     
    //fichier MaClasseExtra.java
    class MaClasseExtra {
      static void cas1(){
        //...
      }
    }

  3. #3
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Bonjour,

    Oui, 1000 lignes pour une instruction (switch) ou autre, il y a un problème. Il faut songer à restructurer.
    cf "legacy code" : https://understandlegacycode.com/blo...h-legacy-code/
    et le refactoring de Fowler : https://refactoring.com/catalog/

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    ok merci, oui ce n'est pas le pire, c'est du code dont j'hérite, j'ai aussi quelques fichiers de plus de 3000 lignes ...

  5. #5
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Justement, la partie sur le "legacy code" (code hérité) s'applique ! Il y a là des techniques pour prendre le code partie par partie, le déplacer dans d'autres classes ou méthodes, etc...

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/07/2021, 16h19
  2. Réponses: 6
    Dernier message: 31/03/2017, 00h20
  3. Réponses: 0
    Dernier message: 15/06/2015, 15h32
  4. Comment écrire la valeur d'une variable dans une cellule
    Par wuging dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/08/2010, 09h07
  5. Déclarer une classe dans des fichiers séparés
    Par Heriquet dans le forum Langage
    Réponses: 2
    Dernier message: 20/01/2010, 11h17

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