Unit 12 Study Guide
- Define the term abstraction and explain why it is such a
fundamental concept in computer science.
- Explain the difference between process and data
abstraction and give an example of each.
- Explain the value of abstract data types and give examples of
common ADTs.
- Explain the concepts behind and benefits of information
hiding, polymorphism, and encapsulation. Evaluate
language support for these concepts in popular languages.
- Define inheritance and explain the benefits and drawbacks of
allowing multiple inheritance.
- Compare and contrast static vs. dynamic dispatch, and explain
the problem that dynamic dispatch solves.
- Explain a class instance record and the kinds of data it
describes.
- Explain virtual method tables and discuss their benefits and
implementation.