HomeCurriculumObject-Oriented Programming

Object-Oriented Programming

Encapsulation, inheritance taxonomies, dynamic polymorphism, virtual method tables (vtables), and object lifetime management.

1Encapsulation, Access Specifiers & Data Hiding

Private vs protected vs public visibility, constructor initialization lists, and immutable objects.

Encapsulation, Access Specifiers & Data Hiding

Private vs protected vs public visibility, constructor initialization lists, and immutable objects.

2Inheritance Hierarchies, Composition Paradigms & the Fragile Base Class Problem

Liskov Substitution Principle (LSP), Method Resolution Order (MRO / C3 Linearization), multiple inheritance diamonds, and the Fragile Base Class problem.

3Polymorphism, Dynamic Binding & Virtual Method Table (VTable) Mechanics

Static vs dynamic polymorphism, Virtual Method Tables (VTable), vptr memory layouts, compiler dynamic dispatch, and branch prediction overhead.

Polymorphism, Dynamic Binding & VTable Mechanics

Compiler dispatch mechanics, VTable layout, function pointer indexing, dynamic binding overhead, and double dispatch.

4Object Lifetime, Memory Models, Resource Acquisition Is Initialization (RAII) & Ownership

Object lifecycle phases, RAII deterministic resource management, reference counting vs tracing GC, circular references, and custom smart pointers.