2009-12-15 8 views
1

c'est une question stupide je pense..Mais .. Quand a déclarer une classe enfant d'une autre classe dans Delphi, l'enfant obtient-il directement les méthodes parents? explications: Une classe nommée 'P' est le parent d'une classe nommée 'C', la classe 'P' a une méthode appelée 'Mth'. Est-il possible d'appeler « C.Mth » ou je remarque quelque chose dans la déclaration de « C » (avec le constructeur peut-être?) ..Delphi Child Class

La question est la même avec les variables ..

I espère être assez clair .. merci beaucoup pour les réponses ...

+0

N'est-ce pas ainsi que ça fonctionnait quand vous l'avez essayé? –

+0

Ce n'est pas une question stupide si quelqu'un peut bénéficier d'une réponse :-) –

+0

Ne soyez pas confondu avec la propriété "Parent" dans les contrôles Delphi. Je préfère utiliser les classes Base et Derived. –

Répondre

5

une classe enfant hérite de toutes les protégées, les propriétés publiques et publiées, les fonctions et les procédures de ses classes parentes.

Il peut les appeler directement, sans aucune syntaxe particulière, à condition que la classe enfant ne les ait pas remplacées.

Par exemple:

type 
    P = class 
    public 
    procedure Mth; 
    end; 

    C = class(P) 
    public 
    procedure Foo; 
    end; 

// ... implementation ... 

procedure C.Foo; 
begin 
    Mth; // Calls the P.Mth procedure. 
end; 
0

Ouais, vous pouvez appeler les méthodes mères comme si elles appartiennent à l'enfant. Cela fait partie de la puissance des hiérarchies OO.

7

Oui. C'est ce qu'on appelle "l'héritage". Cela signifie que tous les attributs de la classe parent sont "hérités" par la classe enfant. Si vous ne faites rien pour changer quoi que ce soit dans la classe enfant (remplacer les virtuals, ajouter des champs, ajouter des méthodes, etc ...) alors la classe enfant fonctionnera de manière identique à la classe parente. Vous pouvez passer la classe enfant à d'autres fonctions qui attendent la classe parent puisque, en vertu de l'héritage, l'enfant partage toutes les qualités du parent.

+1

+1 avec l'ajout que les méthodes héritées et les champs ne sont accessibles que s'ils ne sont pas déclarés comme privés. – jpfollenius