Object-Oriented Programming: Beginner to Pro
A complete, 20-chapter, language-agnostic guide to Object-Oriented Programming — from what a class and object are, through encapsulation, inheritance, and polymorphism, all the way to SOLID principles, the classic design patterns, and UML. Explained with universal, language-neutral examples applicable to Java, C++, C#, Python, PHP, and more.