Object-oriented programming
Object-oriented programming organises code around things that hold state and answer messages. This course covers the four ideas it is built on, and the judgement about when to use them.
What you'll learn
10 chapters, then the quiz
- 01Objects and classesState plus behaviour in one place.
- 02EncapsulationHiding how, exposing what.
- 03InheritanceReusing a definition, with a catch.
- 04PolymorphismOne call, many implementations.
- 05Composition over inheritanceHas-a is usually safer than is-a.
- 06Design principlesSOLID, briefly and honestly.
- 07Design patternsNamed solutions to recurring shapes.
- 08State and mutationWhere object code goes wrong.
- 09Testing object codeWhat makes a class easy to test.
- 10When not to use itOther ways to organise code.
More programming tests
See all →- Easy
JavaScript fundamentals
Types, scope and the small surprises the language is famous for.
8 questions6 min - Easy
Python essentials
Syntax, built-in types and the everyday behaviour of the standard library.
8 questions6 min - Hard
Complexity and Big O
How algorithms behave when the input stops being small.
7 questions8 min