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