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

Java Discussion :

Classe compte bancaire, attribut Numéro de compte.


Sujet :

Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Classe compte bancaire, attribut Numéro de compte.
    Bonjour je suis étudiant en informatique de gestion, je révise pour mon examen en programmation OO et j'ai un petit soucis par rapport a une question d'examen blanc. En bref on me demande de créer une classe CompteBancaire avec les attributs suivants : un numéro de compte (Différent pour chaque compte), un solde et un titulaire. On me demande explicitement que le constructeur de CompteBancaire ne doit pas prendre en paramètre le numéro de compte (public CompteBancaire(Personne p)) et que le numéro de compte doit être automatiquement assigné par la classe. On me recommande en effet d'utiliser le mot clé Static mais je n'arrive pas a comprendre comment pouvoir affecter un numéro de compte sans utiliser ni constructeur, ni setters. Auriez-vous une idée pour me débloquer ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 131
    Points : 203
    Points
    203
    Par défaut
    Salut,

    C'est pas clair du tout leur indication. Tu devrais coller dans ton poste l'ensemble de l'enonce.

  3. #3
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    version simpliste
    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
     
    public class CompteEnBanque {
       private static int compteur= 0 ; // initialisation pas fondamentalement nécessaire
       public final numéroCompte = compteur++ ;
       //etc.
      private BigDecimal solde ; // ou double ou autchose représentant mieux un montant monétaire
      private Personne titulaire ;
      public CompteEnBanque(Personne titulaire) {
        this.titulaire = titulaire ;
       // initialiser le solde
     }
     // un getter pour le solde mais surtout pas de setter
      public BigDecimal getSolde() {}
      public void dépot(BigDecimal montant) {...}
      public void retrait(BigDecimal montant ) throws ExceptionDecouvert { ...}
     
     
    }
    après on peut faire mieux avec un code qui va chercher un numéro qqpart et l'incrémente
    ou aussi avec un AtomicInteger (ou AtomicLong ) ...
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 453
    Points : 883
    Points
    883
    Billets dans le blog
    5
    Par défaut
    Je ferai de la classe CompteEnBanque un simple POJO (seulement attribut et des muttateurs).

    Pour construire la classe, j'utiliserai le design pattern Builder:
    1. https://fr.wikipedia.org/wiki/Monteu...de_conception)
    2. https://blog.xebia.fr/2016/12/28/des...ans-un-bateau/


    Le numéro de compte en banque serait géré par le builder.

    Cordialement.

  5. #5
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    Citation Envoyé par PhilippeGibault Voir le message
    Je ferai de la classe CompteEnBanque un simple POJO (seulement attribut et des muttateurs).
    à mon pas très humble avis .... une mauvaise idée (pardon pour le coté polémique). Un mutateur pour le solde serait une hérésie d'encapsulation.
    Le numéro de compte en banque serait géré par le builder.
    bonne idée
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par professeur shadoko Voir le message
    version simpliste
    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
     
    public class CompteEnBanque {
       private static int compteur= 0 ; // initialisation pas fondamentalement nécessaire
       public final numéroCompte = compteur++ ;
       //etc.
      private BigDecimal solde ; // ou double ou autchose représentant mieux un montant monétaire
      private Personne titulaire ;
      public CompteEnBanque(Personne titulaire) {
        this.titulaire = titulaire ;
       // initialiser le solde
     }
     // un getter pour le solde mais surtout pas de setter
      public BigDecimal getSolde() {}
      public void dépot(BigDecimal montant) {...}
      public void retrait(BigDecimal montant ) throws ExceptionDecouvert { ...}
     
     
    }
    après on peut faire mieux avec un code qui va chercher un numéro qqpart et l'incrémente
    ou aussi avec un AtomicInteger (ou AtomicLong ) ...
    Merci pour votre réponse, par contre dans votre code, je n'arrive juste pas a comprendre a quel moment le compteur va incrémenter et assigner un numéro de compte. Je veux dire, c'est au moment de la création de l'objet que la variable compteur incrémente même si il n'est pas appelé depuis le constructeur ?

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par PhilippeGibault Voir le message
    Je ferai de la classe CompteEnBanque un simple POJO (seulement attribut et des muttateurs).

    Pour construire la classe, j'utiliserai le design pattern Builder:
    1. https://fr.wikipedia.org/wiki/Monteu...de_conception)
    2. https://blog.xebia.fr/2016/12/28/des...ans-un-bateau/


    Le numéro de compte en banque serait géré par le builder.

    Cordialement.
    Merci pour ta réponse, mais pour le cas de mon examen de programmation je n'ai pas encore apris cela, enfin ce n'etais pas repris dans le cours donc ça ne passera pas a l'examen.

  8. #8
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    Citation Envoyé par DanieleCurtis Voir le message
    Merci pour votre réponse, par contre dans votre code, je n'arrive juste pas a comprendre a quel moment le compteur va incrémenter et assigner un numéro de compte. Je veux dire, c'est au moment de la création de l'objet que la variable compteur incrémente même si il n'est pas appelé depuis le constructeur ?
    yes!
    dans un constructeur il y a 3 zones
    1) invocation du super constructeur (éventuellement implicite: super())
    2) initialisation des variables d'instance et en particulier celles qui définissent un code d'initialisation (et éventuellement invocation d'un bloc d'instance -oui oui ça existe!-). Ces codes sont implicitement appelés après le super(...)
    3) reste du code du constructeur

    pour ne pas encombrer le message je passe sur les initialisations static.
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

Discussions similaires

  1. Class compte bancaire
    Par Byakuren dans le forum VB.NET
    Réponses: 6
    Dernier message: 02/08/2015, 17h15
  2. [WD14] Calcul s/totaux suivant classe comptes
    Par BENKOUIDER dans le forum WinDev
    Réponses: 1
    Dernier message: 03/10/2009, 19h18
  3. comment trier les instances d'une classe selon un attribut choisi
    Par rddev dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 29/05/2007, 00h01
  4. attribution numéro auto paramétré
    Par zougna dans le forum IHM
    Réponses: 1
    Dernier message: 21/05/2007, 12h10
  5. [C#] Classe C# et attribut Browsable fonction d'une option
    Par ILoveCSharp dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/06/2006, 01h13

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