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 Delphi Discussion :

Retourner un type différente dans les fonctions virtuelles


Sujet :

Langage Delphi

  1. #1
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut Retourner un type différente dans les fonctions virtuelles
    Bonjour tous,

    je voudrais faire un objet mère qui possède une fonction virtuelle et plusiseurs objets filles qui héritent de cette mère qui aurraient la même fonction mais qui suivant l'objet fille retournent un type différent.
    Est-ce possible et comment je peux le lui dire ?

    Pour ce qui n'ont pas suivi mes explications parfois confuses, un 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
    mere = class(TComponent)
    public 
    function Resultat: {je sais pas quoi comme type};virtual;
    end;
     
    fille1 = class(mere)
    public
    function Resultat: Integer;
    end;
     
    fille2 = class(mere)
    public
    function Resultat: string;
    end;
    Est-ce possible ?

    Merci pour votre aide.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Bonjour

    Cela peut-il te convenir et répondre à ton problème ?


    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
     
      mere = class(TObject)
        public
          function resultat:integer; overload; virtual;
      end;
     
      fille = class(mere)
        public
          function resultat:string;reintroduce; overload;
      end;
     
    ..............
     
    function mere.resultat:integer;
    begin
      result := -1;
    end;
     
    function fille.resultat:string;
    begin
      result := 'un test';
    end;
    Avec reintroduce cela redéfinit la méthode héritée sans la cacher.
    et overload permet de surcharger la méthode.

    En espérant répondre à ta question.

    Cordialement
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  3. #3
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut
    C'est parfait, mais un peu tard, j'ai déjà fait tout mon code avec autant de fonction qu'il n'y a de type de retour à faire, dans mon cas 4 types.
    Sans compter que j'ai 65 classes filles, je vous raconte pas le boulot.

    Enfin merci pour cette soluce, je pense que je l'intégrerai à mon code.

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

Discussions similaires

  1. [FLASH 8] Ciblage dans les fonctions
    Par abenhass dans le forum Flash
    Réponses: 2
    Dernier message: 14/12/2005, 14h00
  2. "_" dans les fonctions
    Par reggae dans le forum C
    Réponses: 3
    Dernier message: 30/09/2005, 19h08
  3. créer un type hidden dans une fonction javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/05/2005, 12h17
  4. [plpgsql] transaction dans les fonctions ?
    Par hpghost dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/06/2004, 16h56
  5. Réponses: 3
    Dernier message: 15/04/2004, 08h44

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