| 1. | What are the three essential purposes of inheritance? | |
| 2. | What is meant by the term engineering trade-off? | |
| 3. | List at least three benefits provided by inheritance. | |
| 4. | What’s the purpose of an interface? | |
| 5. | What’s the difference between an interface and an abstract class? | |
| 6. | Why is compositional design considered to be a force multiplier? | |
| 7. | What is meant by the term polymorphism? | |
| 8. | How much design is good enough? | |
| 9. | What is the fundamental unit of modularity in an object-oriented program? | |
| 10. | What are the five checkpoints of Coad’s Criteria? | |
Answers
| 1. | - as a way to reason about program behavior; as a way to incrementally build program functionality; as a way to gain a measure of reuse within your program |
| 2. | - Compromise in order to make progress while at the same time taking every practical measure to ensure design goals are achieved |
| 3. | - as a way to reason about program behavior; as a way to incrementally build program functionality; as a way to gain a measure of reuse within your program |
| 4. | - An interface specifies type behavior. |
| 5. | - An abstract class may provide an implementation to one or more of its methods. |
| 6. | - It combines the power of interfaces, inheritance, and polymorphism |
| 7. | - To treat different objects in a uniform way |
| 8. | - The answer to the question of when a design has reached “good enough” is always the same — it depends. It depends on the application’s intended purpose and its associated requirements. |
| 9. | - the class |
| 10. |
|