L’héritage
CHAPITRE 12
250
Je suis en 0 0
Je suis en 3 5
Je suis en 5 4
Je suis en 6 9
Exemple de création et d’utilisation d’une classe Pointcol dérivée de Point
Remarques
1 Une classe de base peut aussi se nommer une super-classe, une classe ascendante, une
classe parente, une classe mère ou tout simplement une classe. De même, une classe
dérivée peut aussi se nommer une sous-classe, une classe descendante, une classe fille ou
tout simplement une classe. Enfin, on peut parler indifféremment d’héritage ou de
dérivation, ou, plus rarement de sous-classement.
2 Nous avons déjà dit qu’un programme et les classes qu’il utilise pouvaient être fournies
de façon séparée. Il en va bien sûr de même pour une classe et une classe dérivée. Bien
entendu, il faudra faire en sorte que les informations nécessaires (par exemple définition
de la classe de base et définition de la classe dérivée) soient :
– ou bien connues du traducteur de langage ;
– ou bien convenablement rassemblées au moment de l’exécution.
La démarche correspondante dépendra étroitement du langage et de l’environnement
concernés. Dans tous les cas, on pourra créer, pour une classe de base donnée, autant de
classes dérivées qu’on le souhaitera.
2 Droits d’accès d’une classe dérivée à sa classe de
base
Nous venons d’exposer comment un objet d’une classe dérivée accède uniquement aux
membres publics de sa classe de base. En revanche, nous n’avons rien dit sur l’usage qu’une
méthode d’une classe dérivée peut faire des membres (publics ou privés) d’une classe de
base. Voyons précisément ce qu’il en est en distinguant les membres privés des membres
publics.
2.1 Une classe dérivée n’accède pas aux membres privés de la classe
de base
En fait, une méthode d’une classe dérivée n’a pas plus de droits d’accès à sa classe de base
que n’importe quelle méthode d’une autre classe :
CHAPITRE 12
250
Je suis en 0 0
Je suis en 3 5
Je suis en 5 4
Je suis en 6 9
Exemple de création et d’utilisation d’une classe Pointcol dérivée de Point
Remarques
1 Une classe de base peut aussi se nommer une super-classe, une classe ascendante, une
classe parente, une classe mère ou tout simplement une classe. De même, une classe
dérivée peut aussi se nommer une sous-classe, une classe descendante, une classe fille ou
tout simplement une classe. Enfin, on peut parler indifféremment d’héritage ou de
dérivation, ou, plus rarement de sous-classement.
2 Nous avons déjà dit qu’un programme et les classes qu’il utilise pouvaient être fournies
de façon séparée. Il en va bien sûr de même pour une classe et une classe dérivée. Bien
entendu, il faudra faire en sorte que les informations nécessaires (par exemple définition
de la classe de base et définition de la classe dérivée) soient :
– ou bien connues du traducteur de langage ;
– ou bien convenablement rassemblées au moment de l’exécution.
La démarche correspondante dépendra étroitement du langage et de l’environnement
concernés. Dans tous les cas, on pourra créer, pour une classe de base donnée, autant de
classes dérivées qu’on le souhaitera.
2 Droits d’accès d’une classe dérivée à sa classe de
base
Nous venons d’exposer comment un objet d’une classe dérivée accède uniquement aux
membres publics de sa classe de base. En revanche, nous n’avons rien dit sur l’usage qu’une
méthode d’une classe dérivée peut faire des membres (publics ou privés) d’une classe de
base. Voyons précisément ce qu’il en est en distinguant les membres privés des membres
publics.
2.1 Une classe dérivée n’accède pas aux membres privés de la classe
de base
En fait, une méthode d’une classe dérivée n’a pas plus de droits d’accès à sa classe de base
que n’importe quelle méthode d’une autre classe :
