OOP – Object-Oriented ProgrammingClasses and objects, state, encapsulation and property, inheritance and polymorphism, and OOP design — from the problem to a complete system.Classes and Objects: From the Problem to a Complete Class Objects at Work: State, Information Hiding, Properties and a Complete Class Inheritance and super: Similar Classes Without Duplicated Code Polymorphism: a Common Interface, Different Behavior Single Responsibility in OOP and Composition Versus Inheritance Guided Practice: From a Verbal Requirement to a Class Structure