Professional Documents
Culture Documents
Polymorphism
Enables “programming in the general”
The same invocation can produce “many forms” of
results
Interfaces
Implemented by classes to assign common
functionality to possibly unrelated classes
Advantages
1. Responsive to changes
2. Encapsulation
3. Simplify Testing, debugging
4. Easy to understand
5. Avoid reinventing the wheel
6. Easier to manage, to maintain
7. Off-the-shelf software
Traditional Design Disadvantages
1. Data and operations are separated
2. No data abstraction or info hiding
3. Not responsive to changes in problem space
4. Inadequate for concurrent problems
Potential Disadvantages
1. Over generalization
2. Artificial class relations
3. Unnecessary complications