Upload
orabelle-madec
View
107
Download
1
Embed Size (px)
Citation preview
Systèmes en temps réel
Héritage avec les capsules
Héritage - 2
Synopsis
Utilisation de l’héritage
Genres d’héritage
Mécanismes
Pièges
Exercice
Héritage - 3
Pourquoi utiliser l’héritage?
Généralisation / spécialisation polymorphisme réutilisation*
Considérez la “super” capsule B et la “sous” capsule
littleBs
Qu’est qu’on s’attend à hérité?
Héritage - 4
Héritage de capsule - Interface
Les ports publique et protégés sont hérités
Les sous-classes peuvent ajouter d’autres portsDiagramme de structure de B
Héritage - 5
Héritage de capsule - Structure
Ajoute une structure à B
Spécialisation
Nouveau port
Héritage - 6
Héritage de capsule - Structure
La contenance de structure est héritée
Nouveau diagrammede structure pour B
Héritage - 7
Héritage de capsule - Structure
Les sous-classes peuvent spécialiser ou ajouter de la contenance
Diagramme de Structure pour
littleB
Héritage - 8
Héritage de capsule - Comportement
Les machines d’états sont héritées
Diagramme d’étatsPour Capsule B
Spécialisation
Héritage - 9
Héritage de capsule - Comportement
Les sous classes vont habituellement spécialiser le comportement
Diagramme d’étatspour littleB’s
Spécialisation
Héritage - 10
Mécanismes de “spécialisation”
Vous pouvez redéfinir (override) les opérations d’une capsule
Vous pouvez redéfinir les déclencheurs et code de transition
Vous pouvez ajouter des attributs, opérations, ports, rôles de capsules, états et transitions
et vous pouvez enlever des ports, rôles de capsule, états et transitions *
Considérez l’utilisation des opérations dans les classes passives Votre code sera plus modulaire
* Utilisez ce genre de spécialisation avec grand soins !
Héritage - 11
Pièges dans l’utilisation de l’héritage
Le couplage fort implique “les effets d’entraînement” si la super classe change Ça doit être une force
Redéfinir ou enlever les éléments dans la sous classe réduit la maintenabilité
Les décisions de design sont déplacées vers le haut de la hiérarchie de classes
Utilisez l’héritage sagement mettez seulement les choses dans la classe parent
qui sont, et seront toujours, valides pour les sous classes
Héritage - 12
Héritage – Sommaire
Pour plusieurs, la conception est difficile parce que nous manquons de formation, et plus particulièrement d’expérience
Le Lab 3 vous oblige à penser aux conséquences des décisions conceptuelles
Vous ne pouvez pas ajouter de la qualité à la fin du produit- tout est dans le design
Également, vous ne pouvez pas ajouter l’héritage à la fin d’un design
Le Lab 3 est artificiel – il vous force à utiliser l’héritage comme requis du design
Héritage - 13
Exercice d’héritage
Héritage - 14
Exercice d’héritage
Considérez la situation où il y a deux sous classes généralisés, LittleBs et BabyBs Comment fournissez vous des communications
(signaux) additionnelles entre LittleBs et A de telle façon à ce que A et BabyBs ne sont pas affectés?
Fournissez un diagramme de classes qui illustre les capsules, protocoles et relations nécessaires