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 :

besoin de confirmation


Sujet :

avec Java

  1. #1


    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Par défaut besoin de confirmation
    Bonjour,
    je débute dans le langage Java.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public List<String> GetSymptoms() {
    		ArrayList<String> result = new ArrayList<String>();
    Est-ce qu'on a dans "List<String>" une interface d'objet ou de classe qui est GetSymptoms?
    L'ouverture de l'accolade, c'est pour créer l'objet result avec un paramètrage/implémentation de liste de type ArrayList et String?
    Est-ce que résult est un objet de l'interface GetSymptoms du coups?
    Peut-on parler d'une création de cette interface/la manière dont c'est écrit?
    Que peut-on dire d'autre rien qu'en lisant ça?

    Je vous remercie de votre gentille compréhension et aide.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Yop,

    Est-ce qu'on a dans "List<String>" une interface d'objet ou de classe qui est GetSymptoms?
    Non ça sera un liste.
    L'ouverture de l'accolade, c'est pour créer l'objet result avec un paramètrage/implémentation de liste de type ArrayList et String?
    C'est pour créer une liste d'objets de type String.
    Est-ce que résult est un objet de l'interface GetSymptoms du coups?
    Non, c'est une liste de string.
    Peut-on parler d'une création de cette interface/la manière dont c'est écrit?
    Je ne sais pas.
    Que peut-on dire d'autre rien qu'en lisant ça?
    Qu'il faudrait une List<Symptom> et un objet Symptom ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3


    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Yop,


    Non ça sera un liste.

    C'est pour créer une liste d'objets de type String.

    Non, c'est une liste de string.

    Je ne sais pas.

    Qu'il faudrait une List<Symptom> et un objet Symptom ?
    Merci!
    Mais du coups... ça veut dire qu'on crée la liste.
    Et le "new", ça ne crée pas que des instances de classe?

  4. #4
    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
    Si... ArrayList est une classe. Qui implémente List.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5


    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 6
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Si... ArrayList est une classe. Qui implémente List.
    merci!😉

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Pour compléter ce qui a déjà été dit :

    1- le nom de la méthode devrait commencer par une minuscule (conventions Java)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public List<String> getSymptoms() { ... }
    2- il me paraît illogique de définir la propriété result en ArrayList dans la mesure où on retourne une instance List.
    Normalement, on ferait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ]public List<String> getSymptoms() { 
       List<String> result = new ArrayList<>();             <---- à noter qu'on peut omettre le type côté instanciation, mais on peut aussi le laisser
       ...
     }
    (même si fondamentalement, ça ne change pas grand chose vu que ArrayList implémente List)

    Citation Envoyé par Annelore Voir le message
    Peut-on parler d'une création de cette interface/la manière dont c'est écrit?
    Je ne comprends pas ta question, mais elle me laisse penser que tu n'as pas bien compris la notion d'interface.
    Pour faire simple :

    Une interface décrit des fonctionnalités (méthodes), pas la façon dont elles sont implémentées.
    On parle souvent de "contrat".

    Dans une classe qui étend une interface, on doit définir le "comment" sont implémentées les fonctionnalités.
    On doit définir toutes les méthodes de l'interface

    Un petit exemple pour illustrer le concept :

    Une interface "Mobile" qui définit les méthodes avancer(int vitesse), reculer(int vitesse), tourner(float angle).

    Deux classes qui implémentent cette interface Voiture et Bateau.
    Il va de soi que la manière d'avancer, reculer ou tourner n'est pas la même pour une voiture que pour un bateau, par contre, les 2 peuvent le faire.

    L'intérêt de notre interface se comprend mieux du point de vue d'un contrôleur de trafic.
    Lui se fiche de savoir comment on avance, recule ou tourne, il donne juste ses ordres, charge aux classes de faire.
    Du coup, lui manipulera des interfaces Mobile et n'aura donc pas besoin de savoir comment physiquement les instances derrières ces Mobiles font.

    A noter qu'on peut définir une interface de manière "inline" dans une classe.
    On parle alors de classe anonyme.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Shell : besoin de confirmation pour mon script
    Par nero76 dans le forum Linux
    Réponses: 1
    Dernier message: 17/07/2009, 11h56
  2. POO : besoin de confirmation sur les attributs statics
    Par loic20h28 dans le forum Design Patterns
    Réponses: 2
    Dernier message: 21/01/2009, 08h40
  3. POO : besoin de confirmation sur classe abstraite
    Par loic20h28 dans le forum Design Patterns
    Réponses: 8
    Dernier message: 20/01/2009, 08h43
  4. Besoin de confirmation pour partir dans le bon sens.
    Par ventrebleu dans le forum Projets
    Réponses: 3
    Dernier message: 21/11/2007, 18h45
  5. besoin de confirmation
    Par salseropom dans le forum C
    Réponses: 6
    Dernier message: 10/10/2006, 12h46

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