OO = encapsulation + inheritance
benefits of OOP
the object model
message
encapsulation
protocol
Object-oriented programming does not enlarge the class of computable problems, nor does it reduce the computational complexity of the problems we can handle.
object = information + responsibilities
Contracts
if B refines A then B may be used wherever A is allowed
OOP = Contracts + Refinements