Object = state + behavior

  • computation is sending messages

Subtyping

  • if B is a subtype of A then B may be used wherever A is used

Inheritance ( type hierarchy graph )

  • code sharing (storage representation + operations)

slide: The substitutability requirement