Learning objectives

(HL) Explain inheritance between a superclass and its subclasses, how it promotes code reuse, and how private, protected, public and default access control what a subclass may use

(HL) Construct code that shows polymorphism, both dynamic through method overriding and static through method overloading

(HL) Explain abstraction in object-oriented design, and construct an abstract class that fixes a shared interface for its subclasses

(HL) Explain the difference between composition and aggregation, and design objects that are built from smaller component objects

(HL) Explain the singleton, factory and observer design patterns, stating the recurring problem each one solves and recognising it in code

Continue with a revision plan

These learning objectives are available to everyone. Sign in with an eligible plan to read the full note and worked examples.