Computer Science · Theme B: Computational thinking and problem-solving
B3.2 — Fundamentals of OOP for multiple classes
Computer Science · SL / HL · syllabus-mapped notes
CS_B3.2.1
Inheritance for code reusability
Parent and child class hierarchies, and access to parent members under four modifiers.
CS_B3.2.2
Modelling polymorphism
Dynamic polymorphism via method overriding, and static polymorphism for efficiency.
CS_B3.2.3
Abstraction and abstract classes
Exposing essentials for modular code, and abstract classes as common interfaces.
CS_B3.2.4
Composition and aggregation
Building objects from components, and how the two has-a relationships differ.
CS_B3.2.5
Common design patterns
Singleton, factory and observer, and the recurring problems they solve.