Ein Typ T2 wird nach dem LiskovSubstitutionPrinciple genau dann als SubTyp? von T1 bezeichnet, wenn in einem System eine Instanz von T1 durch eine Instanz von T2 ersetzt werden kann, ohne dass sich das Verhalten des Systems ändert. |
Ein Typ T2 wird nach dem LiskovSubstitutionPrinciple genau dann als SubTyp? von T1 bezeichnet, wenn in einem System ein Exemplar von T1 durch ein Exemplar von T2 ersetzt werden kann, ohne dass sich das Verhalten des Systems ändert. :Ist das aber nicht so, dass, wenn T2 ein Subtyp von T1 ist, jedes Exemplar von T2 gleichzeitig auch ein Exemplar von T1 ist? |
DesignByContract versucht dieses Problem zu lösen, indem das zugesicherte Verhalten explizit dokumentiert wird.
Zu beachten ist, dass das LiskovSubstitutionPrinciple keine Forderung an das Bilden von SubKlassen? darstellt, sondern ein dazu orthogonales Konzept - insbesondere in Bezug auf DynamischTypisierteSprachen?.