Skip to main content
@shmVirus

Object Oriented Programming

Classes, objects, inheritance, polymorphism, and encapsulation — modelling real-world domains as cooperating objects.


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 ObjectsDefining types, creating instances, and the relationship between a class and its objects.
  2. 02
    EncapsulationHiding implementation details behind well-defined interfaces to reduce coupling.
  3. 03
    InheritanceSharing behaviour across related types through class hierarchies and method overriding.
  4. 04
    PolymorphismWriting code that operates on objects without knowing their concrete type at compile time.
  5. 05
    Design PrinciplesSOLID principles and common patterns that guide well-structured object-oriented code.