Refining a method -- like improving a business contract

  class C : public P { ... virtual void m(); ... }
  
  • pre( m_C ) >= pre(m_P) \zline{weaken pre-condition}
  • post( m_C ) <= post(m_P) \zline{strengthen post-condition}

slide: Refining a method