Why OOP Is Not Enough
- OOP requires the programmer to know too many details
about object and method names and implementations.
- OOP requires application data to conform to conventions of the
- OOP requires an object to be a member of a class rather than
be viewable as a member.
- Some OOP systems automatically include slots of supers
in all their descendants. This inhibits use of different representations.
- An object cannot be a member of a class in more than one way.
(A pipe is a circle in two ways.)
- No single definition of an object is likely to encompass all
possible uses (or if it did, it would be too big for typical uses).
- Responsibility for a task may be split across many classes.
- OOP is often slow in execution.
- OOP doesn't play well with relational databases.