|
|
Subkontrakter | Vi har indset at mængden af assertions (pre- og postbetingelser samt invarianten) på en klasse C kan opfattes som en kontrakt. Vi vil nu studere hvordan denne kontrakt udvikler sig når vi danner subklasser af klassen C |
|
| En operation i en specialiseret klasse må ikke forhindre et kald af sig selv, som er garanteret af superklassens tilsvarende operation. Derfor må prebetingelsen ikke strammes En operation i en specialiseret klasse skal gøre arbejdet mindst lige så godt som den tilsvarende operation i superklasenklasse. Derfor må postbetingelsen ikke svækkes |
| Reglerne ovenfor formaliserer, at operationerne der redefineres ned gennem et specialiseringshierarki, skal være tæt beslægtede - også semantisk. Hidtil har vi kun set lagt bånd på navne og parametre af redefinerede operationer (covarians). Her kommer vi altså med nogle semantiske forventninger (krav) i forbindelse med redefintion. Dette er meget tilfredsstillende |