Classic OO theory is fscked, modern OO is double fscked
If you wrap all the data behind behavior, then it is harder to share data with other languages, applications, and tools. You end up reinventing a little mini database for each class: get, set, find, delete, save, dump, semaphore, sort, one-to-many object pointer lists (indexes), etc. Relational factors that commonality of interface/operations into a single spot. OO is so hell-bent on hiding implimentation that it violates OnceAndOnlyOnce (factoring) WRT interfaces.
________________
oop.ismad.com