Systèmes en temps réel Héritage avec les capsules

Preview:

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

Recommended