Encapsulation (OOP) (OCR A Level Computer Science)

Revision Note

Jamie Wood

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 classes

Encapsulation in Methods

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!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

Jamie Wood

Author: Jamie Wood

Expertise: Maths

Jamie graduated in 2014 from the University of Bristol with a degree in Electronic and Communications Engineering. He has worked as a teacher for 8 years, in secondary schools and in further education; teaching GCSE and A Level. He is passionate about helping students fulfil their potential through easy-to-use resources and high-quality questions and solutions.

James Woodhouse

Author: James Woodhouse

Expertise: Computer Science

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.