Object-Oriented Programming
Aligned to the AQA 7517 specification
- Level
- Intermediate
- Reading time
- 6 min
- Published
- 13 June 2026
- Updated
- 1 July 2026
On this page
Key takeaways
- A class is a blueprint defining the structure and behaviour of a category of objects, while an object is a specific instance with its own copies of the class's attributes.
- Encapsulation bundles attributes and methods inside a class with controlled access, so external code reaches private data only through getter and setter methods, protecting it from uncontrolled modification.
- Inheritance lets a subclass inherit the attributes and methods of a superclass and add or override them, enabling code reuse across related classes.
- Polymorphism means the same method call on objects of different types sharing a superclass executes different code depending on the object's actual type at runtime, not merely sharing a method name.
- PRIVATE attributes are accessible only within the declaring class, whereas PROTECTED attributes are also accessible within any subclass; a subclass cannot directly access a superclass's PRIVATE attribute.
Worth saving these ideas?
Turn what you've read into instant revision cards. Free to get started.
Key terms
- Procedural programming
- A paradigm that structures code as a sequence of procedures operating on data, keeping data and the code that manipulates it separate.
- Object-oriented programming (OOP)
- A paradigm that bundles data (attributes) and the procedures that operate on it (methods) together into objects, modelling programs as interactions between objects.
- Class
- A blueprint that defines the structure and behaviour of a category of objects.
- Object
- A specific instance of a class, with its own copies of the attributes defined in the class.
- Encapsulation
- The bundling of attributes and the methods that operate on them inside a class, with controlled external access through public and private members.
- Getter and setter
- Accessor (getter) and mutator (setter) methods through which external code reads or changes private attributes in a controlled way.
- Inheritance
- A mechanism allowing a subclass to inherit the attributes and methods of a superclass and add to or override them.
- Polymorphism
- The property where the same method call on objects of different types sharing a superclass executes different code depending on the object's actual type at runtime.
- PRIVATE
- An access level making an attribute or method accessible only from within the declaring class.
- PROTECTED
- An access level making an attribute or method accessible within the declaring class and any subclass.
- Instantiation
- Creating an object from a class, which in AQA pseudocode requires the NEW keyword, e.g. dog ← NEW Animal("Dog").
Frequently asked questions
A class is the blueprint that defines the structure and behaviour of a category of objects, while an object is a specific instance created from that blueprint. You can create many objects from one class, each with its own attribute values.
PRIVATE attributes are accessible only within the declaring class, while PROTECTED attributes are accessible within the declaring class and any subclass. A PRIVATE attribute in a superclass is not directly accessible in a subclass, which must use getters instead.
Polymorphism means many forms: the same method call on objects of different types that share a superclass executes different code depending on the object's actual type at runtime. It is not simply different classes having methods with the same name.
Generate revision on any topic you study
Type any topic you're studying and Aicademy generates a complete lesson, quiz, and flashcard set, personalised to your level.
Lessons on anything
Structured, level-matched lessons on any topic you study
Practice quizzes
Find out what you actually know before the exam does
Flashcard sets
Lock in key concepts with instant revision cards
Ask Aica
Stuck on something? Get a clear explanation, any time
Subroutines and Recursion
Arrays and Abstract Data Types
Related lessons
7 min
6 min