Review for Final Exam
- Chapter 9
- Inheritance implements the is-a relationship
- Composition implements the has-a relationship
- Compare/Contrast Inheritance and composition
- Chapter 10
- What is meant by method-message binding
- Why is this important to polymorphism
- Compare/Contrast static vs. dynamic method-message binding
- Chapter 11
- What is meant by substitutability and what effect does overriding have
on it?
- What is Overriding
- What is overriding for refinement
- What is overriding for replacement
- Method Binding, Overriding, and Exceptions
- Chapter 12
- Inheritance and memory layout
- Inheritance and the meaning of assignment - what are the following
- Copy Semantics
- Pointer Semantics
- Inheritance and the meaning of equivalance
- Chapter 13
- What is meant by multiple inheritance
- What problems arise from using multiple inheritance
- How do you solve these problems
- What is meant by multiple inheritance from a common ancestor
- What problems arise from using multiple inheritance from a common
ancestor.
- How do you solve these problems
- Chapter 14
- What is polymorphisem
- How is is provided in a dynamic language? A static language?
- What are the levels of polymorphism?
- For each of the levels, define it, give examples for general concept
- For each of the levels, define it, give examples for how C++ provides it
Make sure you know what is happening with and without the word virtual
in the parent class.
- Chapter 15 - Understand the difference between containers in a dynamic
language and a static language like C++
- Chpater 17
- What is coupling? What is Cohesion?
- What are the varieties of coupling? Cohesion?
- Describe the varieties, give an example of each, evaluate each as
far as being good/bad.
- What is meant by Visibility?
- How is visibility controlled in general? In C++?