Conception d'une calculatrice (objet) [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 29 avril 2014
Statut
Membre
Dernière intervention
29 avril 2014
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Bonjour à tous,

voilà j'ai commencé l'apprentissage du JAVA. J'avais quelques notions en programmation mais n'ayant jamais pratiqué assidument je suis reparti de zéro pour être sur. Bref, c'est pour la petite histoire...

Venons-en au vif du sujet ! Je m'exerce en réalisant la traditionnelle calculatrice pour m'assurer de ma compréhension des JFrame, JButton et autre JPanel. Mais je me pose une question sur l'architecture du projet. Par cela, j'entends :

Pour créer ma calculatrice je créé une méthode avec un type de bouton perso et une pour mon écran (label).

La convention (si il y en a une ?) est-elle de plutôt créer une class externe (exemple un package nommé interface et deux classes, une bouton et une ecran) ou tout mettre dans ma classe Main ?

Alors je sais que pour une minuscule projet comme mon TP calculatrice ça ne change rien mais c'est histoire de prendre de bonne habitude.

Pour la solution "classe externe" je crois y voir l'intérêt de pouvoir modifier plus simplement la methode et avoir une lisibilité plus grande.

Pour la solution "tout dans le Main" j'y vois la solution de simplicité en terme de programmation car pour le moment je galère à essayer de mettre en place la premier ;-p.


Merci a tous par avance de vos précieux retours et conseils.

Cordialement.

Durf
A voir également:

4 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
338
Salut,

La décomposition en classe de ton projet t'appartient, il n'y a pas de "meilleure" solution, je peux t'en proposer une :
- Une classe Abstraite Bouton qui étend JButton
- Une classe BoutonChiffre qui étend Bouton
- Une classe BoutonOperateur qui étend Bouton
- Une classe Ecran qui étend JLabel
- Une classe Calculatrice qui étend JPanel

Calculatrice est un singleton accessible partout dans le code avec la méthode getInstance().
Les classes Bouton servent à modifier les valeurs de l'écran et envoient dans le singleton calculatrice les éléments qui permettront de faire le calcul.
La classe Ecran affiche

C'est peut être un peu complexe si tu commence mais cela te donnera une idée de ce que tu peux faire.
Tu peux opter pour une décomposition plus simple ou prendre celle là. Si tu ne comprend pas certains choses, dis le moi.

Bon courage.
Messages postés
2
Date d'inscription
mardi 29 avril 2014
Statut
Membre
Dernière intervention
29 avril 2014

Tout d'abord, merci beaucoup pour ces précisions.

@cs_Julien39 :

Ok j'avoue que dans mon idée première se rapprochait de ta solution à ceci près que j'avais une classe Bouton sans "sous-classe". Mais ta proposition a le mérite d'être (en tout cas pour moi) explicite.
Si je comprends bien la classe Abstraite Bouton définit les paramètres graphiques ou visuels du bouton en gros la forme, taille, fond ect...
Et les deux autres classe bouton la création des différents bouton en fonction de leur utilisation (chiffre ou opérateur) mais en utilisant la méthode de création de la classe Abstraite.

Ai-je bien compris ?

Donc en gros je je le voulais c'est possible de faire un programme même énorme totalement dans le main ?

@Pharaonju :
J'utilise Eclipse !


Cordialement

Durf
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
338
Oui, tu as bien compris l'idée.

Tu peux toujours tout faire dans une main, et même redéfinir des fonctions statiques dans la classe principale.

Mais dans ce cas là, tu ne fais pas de la programmation objet. Ce n'est ni bien ni mal, c'est un choix.

Mais tu risques d'avoir un code énorme et assez peu lisible, les objets Swing sont très clairement faits pour être utilisés avec une décomposition en classes de ton code, et donc, ca risque d'être très lourd à gérer.
Messages postés
7
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
29 avril 2014

Bjr. Trouve tois un IDE comme Netbeans. c'est plus facile.

--
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
338
Quel rapport avec la question ?