Liskovsches Substitutionsprinzip: Unterschied zwischen den Versionen
aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) |
||
| 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 ( | =Definition (Liskov, Wing)<ref>Barbara H. Liskov, Jeannette M. Wing: ''A Behavioral Notion of Subtyping'', [http://portal.acm.org/citation.cfm?id=197383 ACM Transactions on Programming Languages and Systems (TOPLAS), 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 21. Februar 2011, 12:05 Uhr
Definition[1]
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 (Liskov, Wing)[2]
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
- ↑ Kowarschick, W.: Multimedia-Programmierung
- ↑ Barbara H. Liskov, Jeannette M. Wing: A Behavioral Notion of Subtyping, ACM Transactions on Programming Languages and Systems (TOPLAS), Vol. 16, No. 6, November 1994, Pages 1811-1841
Dieser Artikel ist GlossarWiki-konform.
