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 :

Programmation Objet


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut Programmation Objet
    Bonjour,

    Je suis débutant en programmation, et je me forme tout seul.J'ai lu plusieurs livre, plusieurs Tuto sur le net , et je me suis décider a programmer un petit logiciel de gestion d'entreprise.Finalement je me rend compte que je ne sais pas appliquer la programmation Objet.
    Par exemple: pour gérer les client j'ai créer une interface graphique assez complète dans laquelle j'ai des JTextField.
    je récupère les valeurs saisie par l'utilisateur par JTextField.getText() et je stocke ça dans une base de données, mais je n'ai pas créer par exemple de classe client avec des getters et des setters, et je n'en vois pas l'utilité, quelqu'un pourrait m'expliquer à quel moment doit-on faire ce genre de classe je pense, que je devrais faire une classe pour les articles, une pour les fournisseurs, les clients etc... hors moi c'est une classe par JPanel en fait, et je ne raisonne qu'en interface graphique je pose ma zone de texte et je récupère la valeur.
    Ma question est pourquoi à t-on besoin de créer par exemple une classe client, fournisseurs avec des getters et des setters puisque je peut accéder a mes données via les jTextField.
    J'espère que j'aurais été clair dans ma question et désolé si la question parait bête mais je ne comprend pas.
    Merci.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    Bonjour,

    Bah en faite cela vient essentiellement de la maintenabilité de ton code.

    Il faut surtout que tu comprenne le principe même de l'objet et la conception de ce dernier.

    Les getteurs et les setteurs te permette l'encapsulation de tes données ou la protection par exemple tu met des variables dans ton objet il faut les protéger pour cela tu fait des getteurs pour y accéder et des setteurs pour les modifier.
    Et ça préserve de faute bête.

    Ensuite tu découpe au maximum tes tables dans ta base pour alléger la taille des données et facilité la lecture ainsi que rendre plus propre et plus simple d'utilisation ces dernières bah c'est la même chose en objet.

    C'est moins chiant a relire, plus tu découpe plus tu limite la redondance de code et pour la propreté et l'optimisation ainsi que la souplesse de ton code c'est mieux.

    Ça va te simplifié la vie de bien découpé et de bien différencier toutes les partie de ton projet.

    Ensuite si ton projet est bien penser tu passe par les héritage tous ça tous ça.

    Et ne mélange pas les parties graphique, récupération données, traitement données.

    Ce n'est pas la même chose et ton projet si dans 6 mois tu as un pb et que tu ne fait pas sa tu peut le recommencer

  3. #3
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Si je résume :
    Pourquoi faire une classe client, fournisseur,... avec des getteurs et des setteurs? Alors que j'ai juste à récupérer les valeurs des JTextField et les envoyer dans la BDD?

    Et bien pour faire plus propre et plus ordonner. ex : combien d'arguments possède un client -> Je ne vais pas m'amuser à parcourir tous les JTextField et les compter alors que j'ai juste à regarder les variables de classe dans la classe Client.

    Ensuite, dans le cas d'une architecture MVC, tu a besoin de passer tous les paramètre de tes JTextField au controlleur, qui lui même les passent au Modèle.
    Plutot que de faire une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void modification(int num, String nom,...)
    Tu fais une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void modification(Client c)
    Et si tu veux modifier/ajouter/supprimer une varible de Client (ex : adresse), il suffit de l'ajouter dans la classe Client. Pas besoin de modifier la signature de la méthode modifier. Et ça c'est cool
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Merci pour ta réponse
    Comment alors je dois procéder?
    Je créer l'interface graphique, et à pars je met les actions des boutons et ces dans ces derniers que je place la récup des valeurs saisie? car à un moment données faut bien les récupérer ces valeurs des JTextFields par exemple.
    Pour moi la protection se faisait par les mot clé Private et public, s'il s'agit de variable d'instance ou de classe,je ne vois toujours pas l'intérêt des getters et des setters, pourtant dans programmer en java de claude Delannoi ils dit que c'est important!!
    Mon projet est découper en package et en plusieurs classe, une par JPanel en fait, mais pas de setter ni de getters je comprend toujours pas leur utilités désolé ça doit être tout bête .

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    Voici l'utilité
    http://fr.wikipedia.org/wiki/Encapsu...(programmation)
    Mais je te conseil de voir les principes de l'objet avant le développement afin que tu comprennes vraiment a quoi tous sert

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Je suis ok pour regarder la programmation objet avant de commencer la prog ceci dit l'application que je fais c'est pour tester rien de plus, pour mettre en pratique, mais je me suis déjà renseigner sur la prog objet et j'arrive pas à dissocier interface graphique du reste, mais dans beaucoup de tuto et de livres c'est: Je créer la classe animals, puis la classe chien qui hérite de animals, pour accéder a son nom j'ai le getters 'nom' etc... hors ça j'ai compris mais de passer de ce genre d'exemple, à un cas pratique c'est plus difficile enfin pour moi.
    Donc d'après ce que je comprend c'est beaucoup une question de lisibilité et de clarté, je vais essayer d'implémenter la classe client, ça me permettra de mieux comprendre

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    Et de réduire la redondance de code.

    chien et chat ne font pas la même chose

    mais il on tous les deux 4 pattes et une queue

    donc la classe animal va avoir c'est donné la
    plus tu descend dans l’héritage plus tu spécialise c'est sa sont but
    Et plus tu est précis et plus ce que tu fait a une utilités

  8. #8
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    il y a un article sur le modèle MVC, cela devrait surement te donner des informations précieuse !
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    Les getter et les setter ne sont pas une fatalité. Il y a plusieurs écoles qui s'affrontent sur le sujet. La question n'en est que plus légitime.

  10. #10
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Merci pour vos réponses je vais éssayer de mieux comprendre tous ça je n'avais pas assez travailler le modèle MVC donc je vais m'y mettre sans plus attendre et peut être je comprendrais mieux tous ça.
    Merci encore à présent je sais que c'est un sujet à discution, que c'est plus propre, plus sécurisé, et qu'il faut s'orienter vers le MVC pour mieux comprendre ça, je met ce post en résolu

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

Discussions similaires

  1. [Débuter] Programmation objet mais conditions particulières
    Par KaptainouK dans le forum Langages de programmation
    Réponses: 13
    Dernier message: 30/09/2005, 00h20
  2. [Débutant(e)][Conception] prob de programmation objet
    Par gregorian dans le forum Général Java
    Réponses: 3
    Dernier message: 07/07/2005, 11h20
  3. Questions sur la programmation objet en Delphi
    Par Manopower dans le forum Débuter
    Réponses: 20
    Dernier message: 15/06/2005, 15h39
  4. [ASP] Programmation objet ?
    Par Hell dans le forum ASP
    Réponses: 6
    Dernier message: 07/04/2005, 15h28
  5. Problème programmation objet
    Par Contrec dans le forum MFC
    Réponses: 54
    Dernier message: 30/03/2005, 11h30

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