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 :

Cette méthode de construction d'un constructeur est elle bonne?


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 156
    Points : 52
    Points
    52
    Par défaut Cette méthode de construction d'un constructeur est elle bonne?
    Bonjour!

    Notre professeur nous a délivré une méthode pour la construction des constructeur mais j'ai quelques doutes sur celle-ci...

    Il conseille de faire dans l'ordre:

    1. Utiliser les arguments
    2. initialiser les variables de type collection (mais je ne sais pas faire)
    3. mettre en place les numéros de série
    4. faire les super (mais c'est un peu vague et moi je l'aurais plutôt mis en premier...)


    Voilà je ne suis pas sûr que son ordre soit le bon, qu'en pensez-vous?

    Par exemple avec un code modélisant les ventes d'une société distribuant des logiciels:

    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
       import java.util.*;
     
        public class TestGestionLogiciels{
        	public static void main(String[] args){
        		//on verrabien ce qu'on mettra dedans
        		Client c1 = new Client ("Johnson");
        	}
        	}
     
        class Client{
        	final int refClient;
        	static int ref=0;
        	final String nom;
        	List licences;
        	int nbLicencesEnCours(){
        		return licences.size();
        	}
        	public String toString(){return refClient+ " " + nom + " " + licences;}
        	Client (String n){
        		nom =n;
        		licence=[];
        		refClient=ref++;
        	}
        	}

  2. #2
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Le premier principe est que le prof à toujours raison.
    second principe : Si tu remets le premier principe en doute alors il te faut des arguments pour ne pas passer pour un c*n

    Ton code n'est pas conforme à la syntaxe java et pas très logique. Si tu veux qu'on te le corrige, pourquoi pas. Mais je pense que tu devrais prendre un tuto (un prof de papier) sur ce site pour regarder comment on écrit des classes et des constructeurs.

    Pour les 4 conseils de ton prof :
    • Utiliser les arguments oui pour initialiser les valeurs de tes propriétés qui particularisent chaque objet
    • Initialiser les variables de type collection (mais je ne sais pas faire)en général une collection est déclaré d'un type interface. Alors tu l'initialiseras avec le mot clé new du type d'une classe qui implémente l'interface
    • mettre en place les numéros de série oui c'est utile dans une logique de mise en persitence d'objet métier ou pour des frameworks tels que swing
    • faire les super (mais c'est un peu vague et moi je l'aurais plutôt mis en premier...)ben si tu hérites d'une classe mère tu peux appeler son constructeur
    Développeur Java
    Site Web

  3. #3
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 156
    Points : 52
    Points
    52
    Par défaut Demande d'aide
    Bonjour!

    J'ai commencé à suivre le tutoriel de JM Doudoux et à lire le livre de Monsieur Eckel la nuit. C'est peut-être plus sage que de chercher à comprendre les classes internes directement (j'essayais juste de combler mon retard en Java face à la classe...).

    Mais je veux bien que vous me corrigiez mon constructeur! Ce serait très gentil et sympathique!

  4. #4
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    JM DOUDOUX excellent choix !!!!!

    voici ce que donnerait ton code corrigé pour passer au compilo :
    Code java : 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
    import java.util.ArrayList;
    import java.util.List;
     
    public class Client 
    {
    	final private int refClient;
    	private static int ref=0;
    	final private String nom;
    	private List<Licence> licences;
     
    	public int nbLicencesEnCours()
    	{
    		return licences.size();
    	}
     
    	public String toString()
    	{
    		return (refClient + " " + nom + " " + licences.toString());
    	}
     
    	public void addLicence(Licence lic)
    	{
    		licences.add(lic);
    	}
     
    	Client(String n)
    	{
    		this.nom = n;
    		this.licences = new ArrayList<Licence>();
    		this.refClient=Client.ref++;
    	}
    }
    tu remarqueras que la List<Licence> étant une liste de Licence, il te reste à écrire une classe Licence pour finir et tester ton programme.
    bon courage,
    Développeur Java
    Site Web

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/04/2014, 19h19
  2. ma convention de stage est elle bonne ?
    Par Francky44003 dans le forum Droit du travail
    Réponses: 15
    Dernier message: 26/03/2014, 02h53
  3. [XL-2007] Ma démarche est-elle bonne ?
    Par fragger dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/06/2013, 11h07
  4. [mysql] [calcul de dates] Ma requête est-elle bonne ?
    Par tiger33 dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/09/2006, 15h30

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