@shmVirus

Object Oriented Programming


Objects are not just a syntactic feature — they are a way of organising thought. This course covers class design, encapsulation, inheritance hierarchies, and polymorphism, with worked examples showing when each mechanism helps and when it hurts.

Outcomes

  • Design a class hierarchy applying encapsulation and single-responsibility
  • Use inheritance and polymorphism to eliminate repeated code
  • Identify when object-oriented design adds clarity and when it adds overhead
  • Refactor a procedural program into a clean object-oriented design

Outline

Start →
  1. 01
    Classes and Objects Defining types, creating instances, and the relationship between a class and its objects.
  2. 02
    Encapsulation Hiding implementation details behind well-defined interfaces to reduce coupling.
  3. 03
    Inheritance Sharing behaviour across related types through class hierarchies and method overriding.
  4. 04
    Polymorphism Writing code that operates on objects without knowing their concrete type at compile time.
  5. 05
    Design Principles SOLID principles and common patterns that guide well-structured object-oriented code.