Questions : Sur le Design Par l'Édition d'Héritage de Contrat.. ?
Les questions pour tout le Design Par les praticiens de Contrat -
Si ma classe (E) exécute trois interfaces (A, B & C) et étend la classe D, chacun avec ses propres conditions préalables et post-conditions et un invariants.
La Classe E a aussi peu de conditions préalables et post-conditions et un invariants.
Les conditions préalables peuvent être affaiblies. Si vraisemblablement c'est un OU la clause attachant toutes les conditions préalables d'A, B, C, D & E. La question est dans quel ordre ?
Les post-conditions peuvent être renforcées.
Si vraisemblablement je devrais ET toutes les conditions préalables d'A, B, C, D & E. Est-il correct ?
Rien je ne pourrais trouver l'héritage aboout d'Invariants. Comment rejoindriez-vous tout l'invariants de classes A-E ? ET clause ?
Attendre avec impatience pour vos réponses.
Classé sous le Logiciel de Java, la Technologie |
|
RSS 2.0 |
Trackback cet Article |
envoient e-mail cet Article
Vous pouvez aimer aussi lire |





































Le 11 novembre 2004 à 5h10
Les conditions préalables et les post-conditions sont associées aux méthodes. N'importe quelle méthode donnée à Java peut seulement être héritée d'une interface simple ou d'une classe, ainsi il n'y a aucune question à propos d'ANDing et d'ORing.
Quand une méthode primordiale modifie la condition préalable ou la post-condition de sa méthode parentale :
Pour les conditions préalables, la condition préalable parentale est évaluée d'abord. Si cette condition préalable échoue, donc la condition préalable de la méthode de la classe actuelle est évaluée et si l'un ou l'autre réussit et si l'appel était de l'extérieur de la classe actuelle alors la classe invariant est évaluée.
Pour les post-conditions, la post-condition parentale est évaluée d'abord. Si cette post-condition réussit, donc la post-condition de la méthode de la classe actuelle est évaluée et si cela réussit et si l'appel était de l'extérieur de la classe actuelle alors la classe invariant est évaluée.
Pour les constructeurs, cependant, les règles sont différentes. Seulement la condition préalable est évaluée sur l'entrée, pas la classe invariant parce que le point du constructeur doit établir la classe invariant. Sur la sortie, la classe invariant est évaluée d'abord et si cela réussit alors la post-condition est évaluée. Notez : les constructeurs ne sont pas hérités, ils sont enchaînés; les règles d'héritage ne s'appliquent pas.
L'invariant pour une classe est la combinaison de sa classe invariant et la classe invariant (s) pour sa classe (s) parentale. Tout invariants doit toujours être vrai, donc la commande est un peu hors de propos. Enfin, Eiffel spécifie l'ordre suivant : l'invariant de cette classe, invariants alors parental, alors invariants associé à n'importe quelles méthodes redéfinies comme les attributs (quelque chose vous ne pouvez pas faire à Java).