CS202 1-14
Object Oriented Design: ideas
•A central role of object oriented design is to group each operation with one class
•Each operation must have exactly one class that is responsible for carrying it out
•This means you must be careful to not have one class act on the data of another class.
•For example, if we had a message class which allowed a message to be left, erased, or played. What would be wrong with adding this message to a mailbox of messages? How could a message add itself to a mailbox? A mailbox, instead could add a message! This would have required a message to know the internal mailbox structure