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

Delphi Discussion :

Override / Overload


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut Override / Overload
    Bonsoir tout le monde et à vous lecteur

    Ma question est simple en elle même ... la réponse peut-être moins ...
    Je voudrais simplement savoir qu'elle est la différence entre le mot réservé Override et le mot réservé Overload ? Je dispose d'un exemple mais dans lequel je peux tout à fait remplacer l'un par l'autre et ça ne changerait rien ...

    Donc si vous voulez en plus approffondit : qu'a-t-on le droit de faire avec l'un et l'autre et que ne dois-je pas faire ? Pourquoi utiliser l'un plutot que l'autre ou dans quel cas on utilise l'un plutot que l'autre ...


    Par avance merci pour votre réponse et votre temps

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    Salut,

    Override sert à surcharger un méthode dans un descendant.
    Overload sert à redéfinir une méthode soit dans la même classe ou dans un descendant avec des arguments différents.

    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
     
    type
        TFigure = class
          procedure Draw; virtual;
        end;
     
        TRectangle = class(TFigure)
          procedure Draw; override;
        end;
     
        TEllipse = class(TFigure)
          procedure Draw; override;
        end;
       //......
    //Et dans l'implémentation 
    var
       Figure: TFigure;
     
       begin
         Figure := TRectangle.Create;
         Figure.Draw;      // appelle TRectangle.Draw
         Figure.Destroy;
         Figure := TEllipse.Create;
         Figure.Draw;      // appelle TEllipse.Draw
         Figure.Destroy;
       end;
    Pour le Overload :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    type
      T1 = class(TObject)
        procedure Test(I: Integer); overload; virtual;
      end;
     
      T2 = class(T1)
        procedure Test(S: string); reintroduce; overload;
      end;
      ... 
     
    SomeObject := T2.Create;
    SomeObject.Test('Hello!');       // appelle T2.Test 
    SomeObject.Test(7);              // appelle T1.Test
    Voilà pour les exemples, mais tu peut aussi combiner les 2.
    Ce sont les bases de la POO, regarde l'aide de delphi (les PDF de delphi 7 ou l'aide en ligne de delphi 2006 ou turbo) tu aurra une explication facile à comprendre.

    A+ et n'hesite pas si tu as des questions.

  3. #3
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    Ok merci c'est bon ça me va


    Merci beaucoup

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/05/2010, 10h42
  2. Réponses: 5
    Dernier message: 17/05/2006, 11h33
  3. [VB.NET]Comment correctement utiliser Overrides/Overloads?
    Par NicolasJolet dans le forum VB.NET
    Réponses: 5
    Dernier message: 21/03/2006, 10h39
  4. [OO] override overload
    Par eponette dans le forum Langage
    Réponses: 9
    Dernier message: 10/02/2006, 15h21
  5. [Traduction] Overload et Override en français ?
    Par vbrabant dans le forum Langage
    Réponses: 3
    Dernier message: 11/08/2005, 18h44

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