aımnova
DashboardMy LearningCrash CoursesStudy Plan

Aimnova site navigation

Stay in the loop

Get the latest study resources and updates

New features, study tips and exam insights — straight to your inbox.

IB Diploma

  • IB Past Papers
  • IB Study Notes
  • IB Question Bank
  • IB Mock Exams
  • IB Revision

IB Subjects

  • IB Math AA
  • IB Math AI
  • IB Economics
  • IB Business Management
  • IB Physics
  • IB Biology
  • View all IB subjects→

IB Past Papers

  • IB Math AA HL Past Papers
  • IB Math AA SL Past Papers
  • IB Math AI HL Past Papers
  • IB Math AI SL Past Papers
  • IB Economics HL Past Papers
  • IB Economics SL Past Papers
  • IB ESS Past Papers
  • View all past papers→

Study Resources

  • Study Notes
  • Question Bank
  • Mock Exams
  • Crash Courses
  • Flashcards
  • Revision Guide
  • Exam Skills
  • Command Terms
  • Grade Calculator
  • Exam Timetable 2026

Aimnova

  • Features
  • Pricing
  • For Teachers
  • For Schools
  • For Parents
  • About Us
  • Blog
  • Contact
aımnova

IB study, practice and feedback built around the real exam.

TermsPrivacyCookies·© 2026 Aimnova. All rights reserved.c1e448f

Aimnova is not affiliated with or endorsed by the International Baccalaureate Organization (IB).

NotesComputer ScienceTopic 7.1Fundamentals of OOP
Back to Computer Science Topics
7.1.15 min read

Fundamentals of OOP

IB Computer Science · Unit 7

Smart study tools

Turn reading into results

Move beyond passive notes. Answer exam-style questions, get AI feedback, and build the skills that earn top marks.

Get Started Free

Contents

  1. 1Data and the code that uses it, together
  2. 2The five ideas
  3. 3Evaluating it
  4. 4Exam-style question
The big idea: Object-oriented programming keeps a thing's data and the operations on it in one place.

A book's title and its borrow() method live together, rather than the data sitting in one list and the code that handles it in another.

A Book class, the objects made from it, static variables and encapsulation. Step through all four.

Interactive diagram

Explore the labelled diagram, charts and maps for this topic in full study mode.

Claim your free topic

Free preview

This is the free notes preview

You're reading the free notes. Aimnova Pro unlocks the full study experience — and you can try it with your first topic free to keep:

  • FlashcardsLock in vocabulary and key terms with spaced repetition.
  • Practice questionsAnswer exam-style questions and get instant AI marking.
  • Mock exams & past-paper vaultSit full mocks and see exactly how examiners award marks.
  • Personalised study planA daily plan built around your exam date and weak areas.
Start Studying Free Full access to Aimnova Pro · cancel anytime
1

Class — the template

Says what every one of this kind of thing will have and can do.

A class holds no values itself: no class ever sat on a shelf. It is the plan, not the object.

2

Object — one actual thing

Made from the class, with its own values.

Three Book objects share the same attributes and methods, but each holds its own title — changing one changes nothing about the others.

3

Encapsulation — private data, public methods

Attributes are private; the only way in is through public methods.

So every change goes through code that can check it first, rather than any part of the program writing whatever it likes.

4

Inheritance — a more specific kind

A new class takes everything an existing one has, and adds or changes what makes it different.

Ebook inherits from Book — same title and author, plus a file size. Nothing is copied.

5

Polymorphism — same call, right behaviour

Different classes can offer the same method and each do it their own way.

Call describe() on any Book and each kind answers appropriately, without the calling code needing to know which kind it has.

The two that get confused: Inheritance is about reusing what a more general class already has.

Polymorphism is about calling the same method on different kinds and each responding properly. Inheritance is often how polymorphism becomes possible, but they are not the same idea.

Feeling unprepared for exams?

Get a clear study plan, practice with real questions, and know exactly where you stand before exam day. No more guessing.

Get Exam Ready FreeYour first topic is free to keep • No credit card required

What OOP gives you

  • Models the real world — a Book object behaves like a book
  • Reuse through inheritance, with no copied code to drift apart
  • Encapsulation means invalid states can be refused at the door
  • Large programs split into parts people can work on separately
  • Easier to extend: a new kind of Book needs no change to existing code

What it costs

  • More to design — classes and relationships must be worked out first
  • Deep inheritance chains become hard to follow
  • More code for a small task: a script does not need classes
  • A small overhead in memory and speed
  • Poor class design is harder to fix than poor procedural code
When it earns its place: OOP pays when there are real things with both data and behaviour, when a program is large or long-lived, or when several people work on it.

For a fifty-line script that reads a file and prints a total, it is overhead with no return.
Libraries of classes: Languages ship with ready-made classes: ArrayList and Scanner in Java, list and datetime in Python.

Using them saves writing and testing code that already works, and other programmers recognise them at once.

How this is tested — you must EVALUATE — weigh what OOP gives against what it costs, for this scenario. It comes up two ways:

Paper 2 — working with code

  • Evaluate the use of OOP, 4-6 marks
  • Define and illustrate the five concepts
  • Say whether OOP suits a described program

Paper 2 — the algorithmic-thinking question

  • Decide from a description with no code shown
  • Justify the choice from the program's size and lifetime
The classic trap: Listing advantages only. Evaluate requires the costs too — the design effort, the extra code, and the fact that a small script gains nothing from any of it.
IB-style questionEvaluate[6 marks]

A school is building a library system handling books, ebooks, members and loans, to be maintained for many years. Evaluate the use of OOP.

Model answer plan

See the answer broken into clear points, with guidance on how each point earns marks.

Claim your free topic

Try an IB Exam Question — Free AI Feedback

Test yourself on Fundamentals of OOP. Write your answer and get instant AI feedback — just like a real IB examiner.

A delivery program declares:

class Truck(Vehicle):

Identify the OOP feature that this class header shows.
[1 mark]

Related Computer Science Topics

Continue learning with these related topics from the same unit:

7.1.2Designing classes7.1.3Static vs non-static7.1.4Classes and objects7.1.5Encapsulation
View all Computer Science topics
Improve your exam techniqueCommand terms, paper structure, and mark-scheme tips for Computer Science
Previous6.5.1File processingNextDesigning classes7.1.2

62 exam-style questions ready for you

Students who practice on Aimnova improve their scores by 15% on average. Get instant feedback that shows exactly how to improve your answers.

Practice Now — FreeView All Computer Science Topics