CSC/ECE 517 Fall 2009/wiki3 20 i7: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
Liskov Substitution Principle
= Liskov substitution principle =
 
==The Principle==
The Liskov substitution principle was introduced by Barbara Liskov in 1987 and is concerned with subtype contractual correctness.  Based on a paper from 1994 the principle states, "Let q(x) be a property provable about objects x of type T. Then q(y) should be true for objects y of type S where S is a subtype of T.".  This means that for every parent type T, subtype S should be able to be substituted in for it and the behavior of the program should remain exactly the same.
 
==Preconditions==
Preconditions cannot be strengthened. <Explain in english>
<Example>
 
==Postconditions==
Postconditions cannot be weakened.  <Explain in english>
 
==Invariants==
Invariants must be preserved.  <Explain in english>

Revision as of 08:50, 18 November 2009

Liskov substitution principle

The Principle

The Liskov substitution principle was introduced by Barbara Liskov in 1987 and is concerned with subtype contractual correctness. Based on a paper from 1994 the principle states, "Let q(x) be a property provable about objects x of type T. Then q(y) should be true for objects y of type S where S is a subtype of T.". This means that for every parent type T, subtype S should be able to be substituted in for it and the behavior of the program should remain exactly the same.

Preconditions

Preconditions cannot be strengthened. <Explain in english> <Example>

Postconditions

Postconditions cannot be weakened. <Explain in english>

Invariants

Invariants must be preserved. <Explain in english>