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

Langage Java Discussion :

Principes de la POO


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut Principes de la POO
    Bonjour a tous ;
    Je débute sur l’orienté objet mais bon j’arrive pas a vraiment situer ces points forts , et je comprend pas pourquoi on dois allouer de la mémoire, pour créer un objet alors qu’on peut faire des procédure qui centralise tout les code par exemple :
    Considérant l’objet article et la méthode insérer POO=Article.Inserer on peut la remplacer par la procédure Article_Inserer(….), alors qu’apporte de plus les classe et des objet au procédure
    En suite il y’a autre chose que j’arrive pas a comprendre le principe , c’est l’objet lui-même d’après ce que j’ai lut il représente un enregistrement de la base de donnée alors si je veut calculer le nombre d’article qui on le prix inférieur a 10 000 € je faire
    Article.Référence := ?
    X:=Article.NbrPrixInf(10000) mais la que dois-je mettre dans l’attribut référence (Identifient de l’article ) car la il est question d’un ensemble d’enregistrement
    J’espère que je suis claire j’attend votre aide et merci d’avance

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Points : 379
    Points
    379
    Par défaut
    Je ne sais pas bien quel langage tu as utilisé jusque la pour te donner des exemples.

    Si tu as fais un peu de C tu peux imaginer qu'une classe c'est un ensemble représenté par une structure (un ensemble de variables) et des fonctions qui effectuent un traitement dessus (on dit méthodes en POO). Cela permet une meilleure présentation et une plus grande cohérence dans le code. On peut ensuite créer des instances de cette classe que l'on appelle objets (car une classe fournie une représentation d'un objet matériel/technique...)

    Ensuite en POO il y a d'autres concepts tels que l'héritage qui permettent d'avoir un code encore plus explicite et cohérent et d'éviter de réécrire inutilement ce qui a déja été fait.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut re
    merci pour ta réponse
    pour l'instant j'utilise delphi mais je débute
    mais je voudrai des réponse a mes questions car c des exemple concret le cours de POO je l'ai lu mais c théorique et moi je voudrai conjuger tout sa en table et enregistrement (base de donnée) c ca ce que j'arrive pas a assimuler

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 526
    Points
    9 526
    Billets dans le blog
    1
    Par défaut
    Vaste sujet !

    Il faudrait clarifier les bases avant de t'attaquer à une application.

    La "Programmation Orientée Objet" ne fixe pas grand chose en soit, c'est plus une "philosophie" et un langage adapté à la philosophie.
    En gros, un Objet (classe en java), représente un groupe de propriétés rassemblées pour gérer de manière cohérente un "cas", plus des méthodes qui permettent d'agir sur cet objet.

    Pour être concret, je te propose le cas d'une personne.
    Elle est définie (simplement) par :
    - son nom
    - son prénom
    - son sexe
    - une adresse

    L'adresse est elle même définie par :
    - une partie "rue/voie"
    - un code postal
    - une ville
    - un pays
    - etc...

    L'adresse, structurellement bien sûr, n'est pas propre à une personne, on la retrouve :
    - dans une facture
    - dans une commande
    - dans une société
    - etc...

    Avec la POO, tu vas pouvoir "extraire" cette structure dans un objet spécialisé (Adresse) et utiliser cet objet dans les autres objets (Personne, Facture, ...)
    Ces objets auront des contrôles spécialisés (par exemple pour la personne, on pourra forcer l'existence du nom et prénom), et quelque soit l'objet qui utilisera ces définitions, les contrôles seront assurés...

    Après, il y a les notions d'héritage, de polymorphisme, etc...

    Maintenant, supposons que tu ais 2 programmes qui agissent sur des Personnes, il serait dommage d'avoir à écrire plusieurs fois l'enregistrement des données dans une DB (comme ça serait le cas en procédural), le fait d'écrire un Objet spécialisé te garantira le même traitement, quelque soit le "programme" qui l'utilisera.

    La POO te permet de découper tes applications en couches, et ce n'est pas le moindre de ces avantages !

    J'espère que cette explication (simpliste) t'éclairera.

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    Merci OButterlin pour tes explications car ça rejoins ce que je pensé de la POO mais il reste quelques trucs à comprendre, je repose la question en ce qui concerne la relation objet/enregistrement si un objet peut être assimilé à un enregistrement alors chaque objet doit avoir les méthode qui le concerne seulement lui CAD un article (Référence:14/741kd, Désignation: Clavier Dell) peut utiliser la méthode pour calculer la quantité en stock de cette article Article.QteStock(Date), mais si on souhaite avoir le résultat qui concerne plusieurs article exp. La somme du montant de tout les articles qui ont le prix <10 000 € alors la on met article.SomPrixInf(10000) mais la ca concerne plusieur enregistrement alors que doije metre dans l’attribut Reference de l’article
    Article.reference := ??????, Le champs référence est l’index ou la clé primaire de la table article
    Donc vous comprenais mon problème est surtout entre l’objet et l’enregistrement

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 526
    Points
    9 526
    Billets dans le blog
    1
    Par défaut
    A vrai dire, c'est très simple (si si )

    L'objet correspond (en gros) à la structure de ton enregistrement.
    L'instance de l'objet correspond à un enregistrement particulier.

    Exemple
    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
     
    class Personne
    {
       private String nom;
       private String prenom;
       private String sexe;
     
       public Personne()
       {
       }
     
       public Personne(String pNom, String pPrenom, String pSexe)
       {
          nom = pNom;
          prenom = pPrenom;
          sexe = pSexe
       }
     
       public String getNom()
       {
          return nom;
       }
       public void setNom(String pNom)
       {
          nom = pNom;
       }
    ...
       les autres getter/setter pour prenom et sexe
    }
    On va créer 2 Personnes comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Personne personne1 = new Personne("DURAND", "Jacques", "M");
    Personne personne2 = new Personne("MEYER", "Manon", "F");
    Dans cet exemple, tu vois qu'on utilise 1 structure (Personne) 2 fois (personne1 et personne2).
    personne1 et personne2 sont 2 instances distinctes de la classe Personne.
    Donc, quand tu utilises la référence personne1 tu travailles sur Jacques et si tu fais personne1.setNom("MEYER"), tu lui changes son nom.

    personne2.setPrenom("Olivier") changerait le prénom de Manon etc...

    C'est plus clair ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    Oui merci sa m’aide bcp
    Donc une question me vient a l’esprit si je veut calculer la somme des salaire de tout les employés de l’entreprise suposant qu’ils sont 15000 employé alors je vais créer 15000 fois l’objet employé ou bien je fait tout simplement select sum(salaire) from employé
    Comment faire sa en orienté objet

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 526
    Points
    9 526
    Billets dans le blog
    1
    Par défaut
    Personnellement, je ferais une requête SQL, c'est beaucoup plus rapide

    POO ne veut pas dire : "on oublie de réfléchir et on fait tout en objet" !

    Dans la plupart des applications, on panache Classe et requête SQL, il n'y a pas de raison de s'en priver (ni de contre indication)...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    merci je revient samedi et la discution continue , car la je rentre car c le ramadhan sauf si samedi c ton week end a toi alors a lundi,

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/10/2013, 15h37
  2. POO -> principe de création des objets
    Par DeeVoiD dans le forum Langage
    Réponses: 5
    Dernier message: 20/11/2009, 09h24
  3. Réponses: 78
    Dernier message: 23/11/2008, 16h51
  4. détail sur un principe de la POO
    Par narkhor dans le forum Langage
    Réponses: 10
    Dernier message: 19/06/2007, 02h08
  5. Réponses: 11
    Dernier message: 28/02/2007, 12h18

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