Aspects of an Object-Oriented Solution
Data Abstraction & Problem Solving with C++ 5th Edition
Author: Frank M. Carrano
Abstraction separates the purpose of a module from its implementation.
Data abstraction focuses on what the operations do instead of on how you will implement them.
Modularity and abstraction complement each other. Modularity breaks a solution into modules; abstraction specifies each module clearly before you implement it in a programming language.
The principle of information hiding tells you not only to hide such details within a module, but also to ensure that no other module can tamper with these hidden details.
Encapsulation is a technique that hides inner details. Whereas functions encapsulate behavior, objects encapsulate data as well as behavior.
Key concepts of Object-Oriented Programming (OOP):
Encapsulation
: Objects combine data and operations.Inheritance
: Classes can inherit properties from other classes.Polymorphism
: Objects can determine appropriate operations at execution time.
Key Concepts of Object-Oriented Analysis and the Use Case
- Describe the problem domain in terms of scenarios involving the solution that satisfies user goals.
- Discover noteworthy objects, attributes, and associations within the scenarios.