0%

Aspects of an Object-Oriented Solution

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):

  1. Encapsulation: Objects combine data and operations.
  2. Inheritance: Classes can inherit properties from other classes.
  3. Polymorphism: Objects can determine appropriate operations at execution time.

Key Concepts of Object-Oriented Analysis and the Use Case

  1. Describe the problem domain in terms of scenarios involving the solution that satisfies user goals.
  2. Discover noteworthy objects, attributes, and associations within the scenarios.