← Back to catalogBuy now
Object-Oriented Programming
Go beyond syntax: the four pillars, SOLID principles, and the classic design patterns, taught through Java code you actually type and run.
Unlock the full course
Get access to every chapter, instantly.
01What Is Object-Oriented Programming?
Free
02Classes and Objects Recap
03The Four Pillars of OOP
04Abstraction vs Encapsulation
05Modeling Real-World Entities as Objects
06Viva Recap — Foundations
07Access Modifiers and Information Hiding
08Immutability and Defensive Copying
09The Builder Pattern
10Validation and Invariants in Constructors
11Viva Recap — Encapsulation
12is-a Relationships and When to Inherit
13Method Overriding Rules Recap
14The Liskov Substitution Principle
15Composition vs Inheritance
16Favoring Composition — a Refactor Example
17Multiple Inheritance and the Diamond Problem
18Viva Recap — Inheritance
19Compile-Time vs Runtime Polymorphism
20Dynamic Dispatch Under the Hood
21Interface-Based Polymorphism
22Generics as Polymorphism
23The Open/Closed Principle Preview
24Viva Recap — Polymorphism
25Abstract Classes vs Interfaces — When to Use Which
26Designing to an Interface, Not an Implementation
27Default Methods and Interface Evolution
28Dependency Inversion Preview
29Viva Recap — Abstraction
30Chapter 30: Single Responsibility Principle
31Chapter 31: Open/Closed Principle
32Chapter 32: Liskov Substitution Principle (Applied)
33Chapter 33: Interface Segregation Principle
34Chapter 34: Dependency Inversion Principle
35Chapter 35: Putting SOLID Together — a Small Refactor
36Chapter 36: Viva Recap — SOLID Principles
37Chapter 37: The Singleton Pattern
38Chapter 38: The Factory Method Pattern
39Chapter 39: The Abstract Factory Pattern
40Chapter 40: The Builder Pattern
41Chapter 41: The Prototype Pattern
42Chapter 42: The Adapter Pattern
43Chapter 43: The Decorator Pattern
44Chapter 44: The Facade Pattern
45Chapter 45: The Composite Pattern
46Chapter 46: Viva Recap — Creational & Structural Patterns
47Chapter 47: Strategy Pattern
48Chapter 48: Observer Pattern
49Chapter 49: Command Pattern
50Chapter 50: Template Method Pattern
51Chapter 51: Iterator Pattern
52Chapter 52: Viva Recap — Behavioral Patterns
53Chapter 53: Reading and Writing Simple UML Class Diagrams
54Chapter 54: Coupling and Cohesion
55Chapter 55: Common OOP Code Smells and How to Fix Them
56Chapter 56: Viva Recap — Object Design Thinking
57Capstone: Parking Lot — Modeling Vehicles and Spots
58Capstone: Parking Lot — The Factory and the Lot
59Capstone: Parking Lot — Pricing Strategy
60Capstone: Parking Lot — Tickets and Wrapping It Up