Object-Oriented Programming (OOP)
Status: draft · Confidence: medium (0.635) · Basis: verified_sources
Quality notes: generic_source_homepage, no_verified_sources, partial_source_verification
## TL;DR OOP organizes code around objects (data + behavior) rather than functions. Four pillars: Encapsulation (hide internals), Inheritance (reuse through hierarchy), Polymorphism (same interface, different behavior), Abstraction (simplify complex reality). Languages: Java, C++, Python, C#, Ruby. ## Core Explanation Encapsulation: private fields, public methods — protects data integrity. Inheritance: `class Dog extends Animal` — code reuse but can create fragile hierarchies. Polymorphism: `animal.speak()` works differently for Dog vs Cat. Composition over inheritance: has-a vs is-a — more flexible. SOLID principles (Robert C. Martin) guide good OOP design. ## Further Reading - [Object-Oriented Analysis and Design (Booch)](undefined) ## Related Articles - [AI for Augmented Reality: Real-Time Object Detection, Depth Estimation, and Scene Understanding](../../ai/ai-for-augmented-reality-real-time-object-detection-depth-estimation-and-scene-understanding.md) - [AI for Satellite Imagery: Object Detection, Change Detection, and Global Monitoring](../../ai/ai-satellite-imagery.md) - [AI for Surveillance Systems: Object Tracking, Anomaly Detection, and Intelligent Monitoring](../../ai/ai-surveillance-systems.md)