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.