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