Liskov Substitution Principle
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

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?

Was dabei als "Verhalten" bezeichnet wird (und damit auch die Definition des SubTyp? nach dem LSP), ist sehr stark kontext-abhängig. Während beispielsweise in einem System nur von Interesse sein mag, dass eine Sortierstrategie auch tatsächlich sortiert, mag in einem anderen die Stabilität des Algorithmus von Interesse sein, während ein drittes Anforderungen an das zeitliche Verhalten stellt.

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?.


Siehe auch WardsWiki:LiskovSubstitutionPrinciple
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 8. November 2002 18:35 (diff))
Suchbegriff: gesucht wird
im Titel
im Text