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 :

Explications sur le code (classe interne & méthode)


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 303
    Par défaut Explications sur le code (classe interne & méthode)
    Bonjour tout le monde,

    Il y a un exemple sur le chargement d'un fichier .properties: http://patatos.over-blog.com/article...-47382363.html (celui-ci fonctionne).

    En fait, j'ai principalement du mal à comprendre les lignes suivantes:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        public static Properties load(String filename) throws IOException, FileNotFoundException{
               Properties properties = new Properties();
    Je comprends qu'il créé une nouvelle classe interne (Properties) et une nouvelle méthode (load) ...
    Aïe, je perds les pédales !

    Pouvez-vous m'aider ?

    Merci d'avance,

    Yves

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Non, ce n'est pas du tout interne. Il crée une méthode statique, PropertyLoader.load, cette méthode fait "des choses" et retourne une instance de la classe java.util.Properties correspondant au fichier qui a été passé en argument.

    Après, dans le "des choses", il instancie java.util.Properties, ouvre le fichier, initialise le contenue de properties et le retourne.

    Il n'est nullement question de classe interne ici.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    La mise en forme du code sur le site en question, est très bizarre et pousse à la confusion -_-°.

    Properties est une classe standard de Java. Ce code ne la crée pas, et ne crée d'ailleurs aucune classe interne.
    Properties possède une méthode load(), mais cette méthode n'accepte qu'un InputStream en paramètre. On ne peut pas lui donner une String comme nom de fichier à charger, par exemple. Et le code montré ici définit une méthode load() (dans la classe créée par le code, PropertiesLoader, et non pas Properties qui est une classe standard de Java.) Cette nouvelle méthode load() prend une String qui représente le nom de fichier à charger.

    Le code en question ne sert pas à grand-chose par rapport à la méthode load() de Properties. Mais il évite à l'appelant de créer lui-même le FileInputStream. À la place il suffit de donner le nom de fichier.
    Comme toujours, un code qui ne sert pas à grand-chose, n'est pas facile à comprendre et à expliquer pour les débutants.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 303
    Par défaut
    Merci pour vos réponses c'est très clair.
    je n'ai pas fait Tilt avec la classe “Properties” comme valeur de retour.

    En effet, c'est exemple est lourd pour un débutant.
    Une astuce pour ne pas utiliser FileInputStream.

    Encore merci,

    Yves

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

Discussions similaires

  1. demande d'explication sur un code
    Par Zilfi63 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/06/2009, 17h05
  2. explication sur un code perl
    Par Melvine dans le forum Langage
    Réponses: 5
    Dernier message: 05/10/2006, 16h32
  3. Explication sur du code javascript
    Par griese dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/07/2006, 09h40
  4. cherche explication sur du code
    Par abdoulzak dans le forum Langage
    Réponses: 1
    Dernier message: 06/07/2006, 10h23
  5. besoin d'explications sur un code
    Par NAHIAG dans le forum C
    Réponses: 8
    Dernier message: 28/05/2006, 12h37

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