OOP
Steven F. Lott, Dusty Phillips — Python Object-Oriented Programming_ Build robust and maintainable object-oriented Python applications and libraries-Packt Publishing (2021)
Introducing object-oriented
Object-oriented analysis (OOA) is the process of looking at a problem, system,
or task (that somebody wants to turn into a working software application) and identifying the objects and interactions between those objects. The analysis stage is all about what needs to be done.
Object-oriented design (OOD) is the process of converting such requirements into an implementation specification. The designer must name the objects, define the behaviors, and formally specify which objects can activate specific behaviors on other objects. The design stage is all about transforming what should be done into how it should be done.
Object-oriented programming (OOP) is the process of converting a design into a working program that does what the product owner originally requested.
Objects and classes
Unified Modeling Language
Specifying attributes and behaviors
states are generally passive. behaviors are generally active.
Data describes object state
Attributes don’t have to be unique, though; any two oranges may weigh the same amount.