-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Refactoring with C++
By :

Identifying good candidates for classes in OOP involves looking for entities that naturally encapsulate both data and behavior.
A class should represent a set of functionalities that are tightly related to each other. This means all the methods and data in the class are directly related to the specific functionalities it provides. For example, a Timer
class is a good candidate because it encapsulates properties and methods related to timing (start, stop, reset times), maintaining high cohesion.
Entities that have attributes and behaviors that should be shielded from outside interference or misuse can be encapsulated in a class.
A BankAccount
class encapsulates the balance (attribute) and behaviors such as deposit
, withdraw
, and transfer
, ensuring that balance manipulations are done only through controlled and safe operations.
Classes should be designed to be reused across different parts of a program...