|
|
6.8.3 Cas particulier des
attributs/opérations protégés
- Attribut/opération protégé/e =
- Accessible par les classes enfants
- Inaccessible par les autres classes
- Par exemple, opération afficherScrutin() de la classe Scrutin
- La classe ScrutinPlagesHoraires peut utiliser l’opération de la
classe Scrutin dans l’algorithme de son
opération afficherScrutin() :
String afficherScrutin() {
...
appel de l’opération afficherScrutin() de classe parente
...
}
précédent suivant
Dans cette diapositive, nous montrons un exemple typique
expliquant pourquoi il est certaines fois nécessaire de mettre une opération
protégée. Soit une classe abstraite possédant des attributs privés, par exemple
la classe Scrutin. Afficher l’état
d’un objet concret d’une classe enfant de la classe abstraite
implique l’affichage des attributs contenus dans la classe parente et
l’affichage des attributs ajoutés dans la classe enfant. Or, si les
attributs de la classe parente sont privés, comme c’est le cas avec la
classe Scrutin, il est nécessaire d’avoir
une opération afficherScrutin dans la classe
parente (pour accéder aux attributs privés de la classe parente). Comme la
classe parente est une classe abstraite (qui ne possède pas d’instance),
l’opération afficherScrutin n’a pas
besoin d’être publique. Par ailleurs, si l’opération afficherScrutin reste publique, le concepteur qui étend la
classe parente peut ne pas redéfinir l’opération afficherScrutin et seuls les attributs de la classe parente
seront affichés. Donc, l’opération afficherScrutin ne doit pas être publique, mais protégée,
et une opération afficherScrutin doit être
définie dans la classe enfant. Cette méthode de la classe enfant doit être
publique et faire appel à la méthode protégée de la classe parente pour
afficher les attributs de la classe parente.
D. Conan, C. Taconet, C. Bac,
Télécom SudParis, CSC 4002, Octobre 2015
|
|