Object-Oriented Programming
Visual, step-by-step OOP across C++, Python, Java, and TypeScript.
Deep, multi-language OOP from first principles to advanced patterns — with step-by-step memory and dispatch visualizations across C++, Python, Java, and TypeScript.
Language Track
Language
Language-specific lessons are filtered automatically.
0/40
lessons completed
OOP Foundations
Why OOP exists, what a class and object are, and how the receiver (this/self) works across languages.
0/4 completed
In ProgressEncapsulation
Access modifiers, class invariants, getters/setters/properties, and C++ const correctness.
0/4 completed
In ProgressInheritance
IS-A relationships, method overriding, abstract classes, the diamond problem, MRO, and the Liskov Substitution Principle.
+1 lessons in other language tracks
0/6 completed
In ProgressPolymorphism
Static vs dynamic dispatch, virtual functions, vtables, pure virtual, virtual destructors, duck typing, and templates.
0/7 completed
In ProgressMemory Management
Stack vs heap, new/delete, RAII, smart pointers in C++, and garbage collection in Python/Java/TypeScript.
0/5 completed
In ProgressOperators & Special Functions
Operator overloading in C++, Python dunder methods, type conversion operators, and friend functions.
+1 lessons in other language tracks
0/4 completed
In ProgressDesign Patterns
SOLID principles, creational patterns (Factory/Builder/Singleton), structural patterns (Decorator/Adapter), behavioral patterns (Observer/Strategy), and anti-patterns.
0/5 completed
In ProgressAdvanced OOP
Template instantiation (C++), Python metaclasses, covariant return types, CRTP, and type system comparisons.
+1 lessons in other language tracks
0/5 completed
In Progress