Encapsulation (OOP) (OCR A Level Computer Science)
Revision Note
Written by: Jamie Wood
Reviewed by: James Woodhouse
Encapsulation (OOP)
What is Encapsulation?
Encapsulation in object-oriented programming is the practice of bundling data (attributes) and methods (functions) together within a class
Using encapsulation ensures that data remains secure and is not accidentally modified or misused by controlling access to them using access modifiers (e.g., public, private)
It also helps to organize code by keeping related data and methods together within an object
Encapsulation promotes code reusability, which means the same object or class can be used in different parts of a program without rewriting the code
Encapsulation uses a concept called “Abstraction” which reduces complexity by hiding the implementation details of the object, making it easier to understand and work with
Programmers can use methods and classes from other parts of the program without having to understand how that it has been constructed internally
Encapsulation in Classes
Private variables are only accessible within the class itself, and external code cannot access them directly.
Encapsulation hides how things work inside a class from the outside. External code can interact with the class using public methods without needing to understand its internal details
Encapsulation in classes
Encapsulation in Methods
Encapsulation in methods
Examiner Tips and Tricks
When determining whether a method or attribute is public or private, if neither keyword appears, then assume it is public
Worked Example
A taxi firm is investigating replacing its drivers with self-driving cars.
The code for the self-driving system has been written using an object-oriented programming
language.
It recognises obstacles in the road and then classifies them.
The class for Obstacle
is shown below.
public class Obstacle
private moving //Boolean value
private distance //Real number given in metres
private direction //Integer given as between 1 and 360 degrees
public procedure new(givenMoving, givenDistance, givenDirection)
moving=givenMoving
distance=givenDistance
direction=givenDirection
endprocedure
public procedure updateDistance(givenDistance)
distance=givenDistance
endprocedure
endclass
Describe an example of encapsulation in the class definition code above.
[2]
How to answer the question:
Stating that distance is set to private [1 mark]
To update the value the method updateDistance must be used [1 mark]
Answer:
Example answer that gets full marks:
An example of encapsulation in the class definition code above is demonstrated through the attribute "distance" being declared as private. [1].
The "updateDistance()" method serves as a public interface to modify the "distance" attribute. [1]
Last updated:
You've read 0 of your 5 free revision notes this week
Sign up now. It’s free!
Did this page help you?