Refining a contract -- state responsibilities and obligations

  • invariance -- the invariants of all the parents of a class apply to the class itself
  • methods -- services may be added or refined

Improving a service -- do only more than expected

  • accept weaker pre-conditions
  • guarantee stronger post-conditions

slide: Contracts and inheritance