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

Lazarus Pascal Discussion :

Débuter avec la Programmation Orientée Objet [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut Débuter avec la Programmation Orientée Objet
    Salut
    J'ai envie d'optimiser un programme écrit en Lazarus en utilisant les classes. J'ai lu un bon nombre de tutoriels sur la POO mais je suis confronté à un problème, à savoir dans quel projet (programme, console d'application...) ou encore dans quel module (unit, ..) dois-je écrire mes classes.
    Je vous remercie.

  2. #2
    Membre émérite
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    Dans une unité que tu créeras et dont tu choisiras toi-même le nom.

  3. #3
    Membre éprouvé Avatar de Modulpro
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut
    Bonsoir,

    Dans certains cours sur la POO, il est conseillé :
    - de créer une unité pour chaque classe,
    - de donner le même nom à l'unité et à la classe qui lui correspond, le premier étant préfixé par U et le second par C,
    - d'éviter de mélanger dans une même unité la programmation procédurale et la programmation orientée objet.

    Ces mesures simples permettent généralement une meilleur lisibilité du code.

  4. #4
    Membre émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Par défaut
    Bonjour

    Et pour répondre "à quel projet (programme, console d'application...)", je dirais que c'est totalement indépendant de ton style de programmation. Tu peux faire une application console en POO...

    Le plus courant c'est cependant Projet, Application avec une fiche pour commencer, à quoi tu ajoutes des Unités pour tes classes.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut
    Merci à tous.
    Je vais combiner vos explications pour avoir un bon résultat.

  6. #6
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par Modulpro Voir le message
    Bonsoir,

    Dans certains cours sur la POO, il est conseillé :
    - de créer une unité pour chaque classe,
    - de donner le même nom à l'unité et à la classe qui lui correspond, le premier étant préfixé par U et le second par C,
    - d'éviter de mélanger dans une même unité la programmation procédurale et la programmation orientée objet.

    Ces mesures simples permettent généralement une meilleur lisibilité du code.
    Personnellement j'utilise une autre approche, qui est celle de la VCL

    l'unité Forms, déclare TForm.

    donc si je veux créer des classes d'élèves, ce sera l'unité Eleves qui déclare TEleve.

    par contre je ne me limite pas à une classe par unité, notamment pour ne pas tomber dans des problèmes de référence circulaires.

    EDIT: et je n'hésite pas à mélanger code procédural et objet, ou plus exactement à regrouper ce qui va ensemble.

    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
    30
     
    unit Abouts;
     
    interface
     
    uses
      Forms;
     
    type
      TAbout = class(TForm)
       ...
      end;
     
    procedure ShowAbout;
     
    implementation
     
    procedure ShowAbout;
    begin
      with TAbout.Create(Application) do
      begin
        try
          ShowModal();
        finally
          Free;
        end;
      end;
    end;
     
    end.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre émérite
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    Tout à fait d'accord.

    Dans le même genre : je crée une fiche générique, disons, TChooseFileForm, genre mini-explorateur, pour choisir une liste de fichiers de tel ou tel type : eh bien, les fonctions globales ChoosePictures, ChooseTexts, etc.. qui utiliseront cette fiche, seront déclarées dans la même unité.

    Deuxième exemple : si on veut utiliser l'héritage de façon rigoureuse dans Delphi ou Lazarus, avec des méthodes déclarées dans la partie protected, on n'a pas le choix : les descendants doivent aussi être déclarés dans la même unité.

    Troisième exemple : je crée un descendant de TList, TListOfTruc, conçu pour manipuler des objets TTruc. TTruc et TListOfTruc seront déclarés eux aussi dans la même unité. C'est de toute façon bien plus efficace dans la conception du code.

    Il est rarissime que j'aie écrit des unités ne déclarant qu'un seul type d'objet. Moi aussi, je mets ensemble ce qui va ensemble.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/05/2017, 12h28
  2. Réponses: 3
    Dernier message: 18/10/2010, 14h19
  3. Programmation orienté objet avec MATLAB R2007b
    Par Luigicube dans le forum MATLAB
    Réponses: 0
    Dernier message: 18/06/2010, 17h16
  4. Programmation orienté objet avec vb
    Par anisj1m dans le forum VBScript
    Réponses: 10
    Dernier message: 07/05/2008, 17h19

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