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 :

Réaliser une classe "livre" en programmation Java


Sujet :

avec Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Réaliser une classe "livre" en programmation Java
    Bonjour,j'aurais besoin d'aide pour creer une classe "livre" en programmation java malheuresement j'ai du mal et j'aurais besoin d'un peu d'aide.Voici les specifications.

    Réaliser une classe "Livre" ayant pour variables d'instances :
    • titre ;
    • auteur ;
    • éditeur ;
    • prix ;
    • type : roman, biographie ou dictionnaire (utiliser une énumération).
    Les méthodes de la classe sont :
    • Constructeur ;
    • Mutateur pour le prix ;
    • Accesseur pour l’auteur ;
    • toString

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    et qu'est-ce qui te coince là dedans?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 757
    Points : 572
    Points
    572
    Par défaut
    Salut,

    Bon, voici ce que j'aurais fait :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public class Livre {
     
    	// variables d'instances, elles ne contiennent pas le mot clé 'static' qui lui est réservé pour faire des variables de classes.
    	String strTitre, strAuteur, strEditeur;
    	float fltPrix;
     
    	//constructeur : il peut exister plusieurs constructeur si tu en créé de nouveaux en prenant soin
                  //qu'ils aient des signatures différentes (la signature d'une méthode est constituée du nom
                  //de la méthode, du nombre et du type de ses paramètres, et du type qu'elle renvoie)
     
    	public Livre() {
     
    	}
     
    	//méthodes
    	public void mutateur() {
     
    	}
     
    	public void accesseur() {
     
    	}
     
    	public String toString() {
    		String strString = null;
    		// A coder ici la mise en forme souhaitée
    		return strString;
    	}
     
    	//énumération à utiliser dans l'implémentation de ta classe
    	public enum Type {
    		roman, biographie, dictionnaire;
    	}
    }
    Je ne suis pas un pro et j'espère que d'autres passeront après moi pour améliorer (et merci à eux cela m'apprendra !)

    Il te faut coder les méthodes de la classes et le constructeur. Dans le texte que tu fournis, il n'est pas indiqué les nombres de paramètres que prennent les fonctions (ou alors j'ai lu trop vite ...)

    Bye
    OS : LinuxMint 20

  4. #4
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Plutot au niveau des variables d'instances je dirais ,pourrais je avoir une idée de ce vous auriez fait ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 757
    Points : 572
    Points
    572
    Par défaut
    Salut !

    pourrais je avoir une idée de ce vous auriez fait ?
    Je ne comprends bien votre question puisque dans mon message précédent, j'ai justement écrit ce que j'aurais fait !?!

    Peut-être voudriez vous que j'aille plus loin dans l'implémentation de la classe ?
    Ceci ne peut se faire que si vous avez une idée précise des fonctions que vous voulez voir réalisées par le code !

    En effet, sans indications, on peut faire 10 000 choses différentes à partir de ce squelette de classe fourni dans mon message précédent.

    Par exemple, votre énoncé de la classe Livre dit de créer une fonction "mutation" du prix. Comment puis-je comprendre cette mutation ?
    Je peux comprendre :
    -mutez le prix de dollards en euros (multipliez par toutes les devises existantes et vous aurez déjà un nombre d'implémentations différentes)
    -mutez le prix d'euros en temps (et oui, le temps c'est de l'argent ... enfin, pour moi c'est plutôt de l'or ....)
    -mutez ceci, cela et etc ....

    Vous comprenez bien qu'il faut donc un énoncé précis et pas seulement : écrivez la méthode de mutation !
    OS : LinuxMint 20

  6. #6
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    je veux juste creer un programme qui teste toutes les methodes de la classe.Merci d'avance pour le temps que vous consacrez a me repondre

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 757
    Points : 572
    Points
    572
    Par défaut
    Salut,

    Pour tester les méthodes, on doit bien savoir ce pourquoi elles sont concues !?!

    Or, dans ton énoncé, il n'est pas précisé ce qu'elles doivent faire. Il est juste dit de créer des méthodes ayant tel ou tel nom.

    Il faut préciser les fonctions que doivent réaliser ces méthodes.
    OS : LinuxMint 20

  8. #8
    Futur Membre du Club Avatar de ramzi93
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Pour info,

    Réaliser une classe "Livre" ayant pour variables d'instances :
    • titre ;
    • auteur ;
    • éditeur ;
    • prix ;
    • type : roman, biographie ou dictionnaire (utiliser une énumération).
    Les méthodes de la classe sont :
    • Constructeur ;
    • Mutateur pour le prix mutateurs = setters ;
    • Accesseur pour l’auteur ; accesseurs = getters.
    • toString

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    public class Exemple {
     
        private String machin; // exemple de variable membre, de type String
        private int truc; // autre exemple de variable membre, de type int
     
        /**
          * Exemple de constructeur sans initialisation particulière des variables membres
          */
       public Exemple() {
       }
     
        /**
          * Exemple de constructeur qui initialise les variables membres
          */
        public Exemple(String valeurInitialeDeMachin, int valeurInitialeDeTruc) {
             this.machin = valeurInitialeDeMachin;
             this.truc = valeurInitialeDeTruc
        }
     
       /**
        * Exemple de mutateur (ou setter, d'où setXXX) pour la variable membre machin
        */
       public void setMachin(String nouvelleValeurDeMachin) {
             this.machin = nouvelleValeurDeMachin;
       } 
     
       /**
         * Exemple d'accesseur (ou getter, d'où getXXX) de la variable machin
         */
       public String getMachin() {
            return this.machin;
       }
     
       /**
        * Exemple de mutateur (ou setter, d'où setXXX) pour la variable membre truc
        */
       public void setTruc(int nouvelleValeurDeTruc) {
             this.truc = nouvelleValeurDeTruc;
       } 
     
       /**
         * Exemple d'accesseur (ou getter, d'où getXXX) de la variable truc
         */
       public int getTruc() {
            return this.truc;
       }
     
      /**
        * Exemple de méthode toString() : pour avoir une réprésentation de type String d'une l'instance de classe
        */
      public String toString() {
          StringBuilder stringBuilder = new StringBuilder();
          stringBuilder.append( '[' );
          stringBuilder.append( machin );
          stringBuilder.append( ", " );
          stringBuilder.append( truc );
          stringBuilder.append( ']' );
          return stringBuilder.toString();
         // ou si tu veux faire plus simple (et/ou que tu n'as pas le droit d'utiliser StringBuilder), tu remplaces tout le code de la méthode par : return "[" + machin + ", " + truc +"]";
      }
     
    }
    Il ne reste plus qu'à appliquer ça à ton énoncé pour réaliser ton exercice.

    Pour l'énumération, en effet utiliser une Enum (à noter que les conventions précisent que les valeurs sont en UPPER_CASE).

    On pourrait se poser la question du type de la variable prix : float me semble suffisant vu qu'il n'y a aucun précision du contexte d'utilisation et l'exercice me semblant être un exercice de base, on va pas chercher à compliquer.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    public class Exemple {
     
        private String machin; // exemple de variable membre, de type String
        private int truc; // autre exemple de variable membre, de type int
     
        /**
          * Exemple de constructeur sans initialisation particulière des variables membres
          */
       public Exemple() {
       }
     
        /**
          * Exemple de constructeur qui initialise les variables membres
          */
        public Exemple(String valeurInitialeDeMachin, int valeurInitialeDeTruc) {
             this.machin = valeurInitialeDeMachin;
             this.truc = valeurInitialeDeTruc
        }
     
       /**
        * Exemple de mutateur (ou setter, d'où setXXX) pour la variable membre machin
        */
       public void setMachin(String nouvelleValeurDeMachin) {
             this.machin = nouvelleValeurDeMachin;
       } 
     
       /**
         * Exemple d'accesseur (ou getter, d'où getXXX) de la variable machin
         */
       public String getMachin() {
            return this.machin;
       }
     
       /**
        * Exemple de mutateur (ou setter, d'où setXXX) pour la variable membre truc
        */
       public void setTruc(int nouvelleValeurDeTruc) {
             this.truc = nouvelleValeurDeTruc;
       } 
     
       /**
         * Exemple d'accesseur (ou getter, d'où getXXX) de la variable truc
         */
       public int getTruc() {
            return this.truc;
       }
     
      /**
        * Exemple de méthode toString() : pour avoir une réprésentation de type String d'une l'instance de classe
        */
      public String toString() {
          StringBuilder stringBuilder = new StringBuilder();
          stringBuilder.append( '[' );
          stringBuilder.append( machin );
          stringBuilder.append( ", " );
          stringBuilder.append( truc );
          stringBuilder.append( ']' );
          return stringBuilder.toString();
         // ou si tu veux faire plus simple (et/ou que tu n'as pas le droit d'utiliser StringBuilder), tu remplaces tout le code de la méthode par : return "[" + machin + ", " + truc +"]";
      }
     
    }
    Il ne reste plus qu'à appliquer ça à ton énoncé pour réaliser ton exercice.

    Pour l'énumération, en effet utiliser une Enum (à noter que les conventions précisent que les valeurs sont en UPPER_CASE).

    On pourrait se poser la question du type de la variable prix : float me semble suffisant vu qu'il n'y a aucun précision du contexte d'utilisation et l'exercice me semblant être un exercice de base, on va pas chercher à compliquer.
    Merci beaucoup

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

Discussions similaires

  1. Comment réaliser une classe d'association?
    Par loic20h28 dans le forum PowerAMC
    Réponses: 2
    Dernier message: 09/03/2009, 18h19
  2. import d'une classe sous gwtext dans un programme gwt
    Par dadoukhane dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 22/07/2008, 10h18

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