IB Computer Science HL · Year 2 · Lesson 18
Abstraction and abstract classes
Multiple-class OOP adds relationships and flexible behaviour through inheritance, polymorphism, abstraction, composition and patterns.
Paper 250 minutesB3.2.3
Use Next or the arrow keys.
Today’s targets
What you need to be able to do
2 / 7
- ExplainThe concept of abstraction in OOP
B3.2.3
Paper 2 lensMatch the depth of every response to the command term. Previously learned content can move quickly, but retrieval must still be accurate.
Page 2 of 7
Retrieve
Rapid Recall Deck
3 / 7
Say the answer aloud before flipping. Mark secure knowledge quickly and spend time on the gaps.
- What is abstraction in OOP?: Representing the essential interface and behaviour while hiding unnecessary implementation detail.
- Why is abstraction useful in modular code?: It lets one part of a program depend on what another component does rather than on all details of how it does it.
- What is an abstract class used for?: To define common structure or behaviour for related subclasses while leaving some details for subclasses to implement.
- How can an abstract class establish a common interface?: It can declare methods or behaviours that each subclass must provide in its own appropriate way.
Page 3 of 7
B3.2.3 · Learn
Core knowledge and application
4 / 7
B3.2.3Explain
The concept of abstraction in OOP
Multiple-class OOP adds relationships and flexible behaviour through inheritance, polymorphism, abstraction, composition and patterns.
Exam moveGive the mechanism or relationship and make the reasons/causes explicit.
Required detail 1The significance of abstraction in the development of modular code fragments
Required detail 2Use of abstract classes to establish common interfaces for sub-classes
Assessment boundaryPaper 2
Explain it without notes
Explain: The concept of abstraction in OOP in the context of a school platform with multiple interacting object types.
- The significance of abstraction in the development of modular code fragments
- Use of abstract classes to establish common interfaces for sub-classes
Page 4 of 7
Apply
Transfer to a new scenario
5 / 7
ScenarioA school platform with multiple interacting object types needs a design or technical decision related to today’s topic. Explain what matters and why.
- The significance of abstraction in the development of modular code fragments
- Use of abstract classes to establish common interfaces for sub-classes
Page 5 of 7
Exam lens
Paper 2 practice
6 / 7
Build the response before checking notesUse precise terminology and match the required depth.
- Explain: The concept of abstraction in OOP in the context of a school platform with multiple interacting object types.
Self-checkAnswer the exact command term. For explain, include mechanism/reason; for compare, pair criteria; for discuss/evaluate/justify, build supported reasoning and a conclusion.
Page 6 of 7
Homework
Finish the learning cycle
7 / 7
IA — main task
Continue Criterion D development. Keep code readable, record meaningful implementation decisions, and maintain testing/evidence notes as you work.
Syllabus — short
Complete one targeted Paper 2/Paper 1 retrieval task from today’s lesson.
Designed by David Xu
© 2026 David Xu. All rights reserved.
Educators and students are welcome to use these materials for non-commercial teaching and learning with attribution. Please share the original link when possible. Reposting, redistributing modified copies, removing attribution, or commercial use requires prior permission.
End of Lesson 18.