Liskovsches Substitutionsprinzip: Unterschied zwischen den Versionen
aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
Eine [[Methode]] sollte nicht so überschrieben werden, dass sich ein Objekt einer [[Abgeleitete Klasse|abgeleiteten Klasse]] überraschend anders verhält, als man es aufgrund der Definition der Basisklasse erwarten würde. Mit anderen Worten: Methoden, die in abgeleiteten Klassen neu definiert werden, müssen alle [[Integritätsbedingung]]en (d.h. die Spezifikation) der Basisklasse beachten. | Eine [[Methode]] sollte nicht so überschrieben werden, dass sich ein Objekt einer [[Abgeleitete Klasse|abgeleiteten Klasse]] überraschend anders verhält, als man es aufgrund der Definition der Basisklasse erwarten würde. Mit anderen Worten: Methoden, die in abgeleiteten Klassen neu definiert werden, müssen alle [[Integritätsbedingung]]en (d.h. die Spezifikation) der Basisklasse beachten. | ||
=Definition (Livkov, Wing)<ref> | =Definition (Livkov, Wing)<ref>Barbara H. Liskov, Jeannette M. Wing: ''A Behavioral Notion of Subtyping'', [http://portal.acm.org/citation.cfm?id=197383 ACM Transactions m Programmmg Languages and Systems, Vol 16, NO 6, November 1994, Pages 1811-1841]</ref>= | ||
Subtype Requirement: Let Φ(x) be a property provable about objects x | Subtype Requirement: Let Φ(x) be a property provable about objects x | ||
of type T. Then Φ(y) should be true for objects y of type S where S is | of type T. Then Φ(y) should be true for objects y of type S where S is |
Version vom 20. Februar 2011, 17:39 Uhr
Definition
Eine Methode sollte nicht so überschrieben werden, dass sich ein Objekt einer abgeleiteten Klasse überraschend anders verhält, als man es aufgrund der Definition der Basisklasse erwarten würde. Mit anderen Worten: Methoden, die in abgeleiteten Klassen neu definiert werden, müssen alle Integritätsbedingungen (d.h. die Spezifikation) der Basisklasse beachten.
Definition (Livkov, Wing)[1]
Subtype Requirement: Let Φ(x) be a property provable about objects x of type T. Then Φ(y) should be true for objects y of type S where S is a subtype of T.
Quellen
- ↑ Barbara H. Liskov, Jeannette M. Wing: A Behavioral Notion of Subtyping, ACM Transactions m Programmmg Languages and Systems, Vol 16, NO 6, November 1994, Pages 1811-1841
Dieser Artikel ist GlossarWiki-konform.