Encapsulation is not information hiding

Notes from Encapsulation is not information hiding:

  • Encapsulation rule 1: Place data and the operations that perform on that data in the same class
  • Encapsulation rule 2: Use responsibility-driven design to determine the grouping of data and operations into classes
  • Information hiding rule 1: Don’t expose data items
  • Information hiding rule 2: Don’t expose the difference between stored data and derived data
  • Information hiding rule 3: Don’t expose a class’s internal structure
  • Information hiding rule 4: Don’t expose implementation details of a class