Inheritance (OOP) (OCR A Level Computer Science): Revision Note

Craig Godbold

Written by: Craig Godbold

Reviewed by: James Woodhouse

Updated on

Inheritance (OOP)

What is Inheritance?

  • Inheritance is a key concept in object-oriented programming (OOP) that allows a class to inherit the properties and behaviours (methods and attributes) of another class

  • Inheritance promotes code reuse by allowing derived classes to inherit and utilise the existing code from the base class. This avoids duplicating code and promotes better organization and maintainability

  • Inheritance establishes an "IS-A" relationship between the base class and the derived class

  • For example, if you have a base class called Vehicle and a derived class called Car, you can say that "a Car is a Vehicle."

  • The car class inherits the properties and behaviours associated with being a vehicle

  • Inheritance involves two main entities:

    • The base class (also known as the parent class or superclass) and the derived class (also known as the child class or subclass)

    • The derived class inherits the characteristics of the base class, meaning it can access and use the methods and attributes defined in the base class

Example of a base class and derived classes

Example of a base class and derived classes

  • Base Class: The base class serves as the blueprint or template from which the derived class inherits 

    • It defines common properties and behaviours that can be shared among multiple derived classes

  • Derived Class: The derived class inherits the attributes and methods of the base class

    • It can add additional attributes and methods

  • If a car object was to be created, it may have the following attributes:

    • Manufacturer - The company that makes the car

    • Make -The model of the car

    • Cost – The price of the car to purchase

    • IsInsured – Whether or not the car is insured

    • EngineCapacity – The size of the engine for the car

  • It may also have access to the following methods:

    • TurnEngineOn() – To start the car engine

    • TurnEngineOff() – To turn off the car engine

    • SteerLeft() – To turn the car to the left

    • SteerRight() – To steer the car to the left

    • GearChange() – To change the gear of the car

    • UnlockDoors() – To unlock the doors to the car

  • The above methods are only a select few and there could be many more added for extra functionality

  • In the following code, the super keyword is used in inheritance to refer to the superclass (Base class: Vehicles) and access its members (methods, attributes, or constructors) from within the subclass (Derived Class: Cars)

Worked Example

The classes office and house inherit from building.
Describe what is meant by inheritance with reference to these classes.

 [2]

How to answer this question:

  • 1 mark per bullet up to a maximum of 2 marks, e.g:

    • When the child/derived/subclass class office/house takes on attributes/methods…

    •  … from building / parent/base/superclass/ class

Answer:

 Example answer to get full marks:

When the derived classes "office" and "house" inherit attributes/methods [1] from the "building" base class, they gain access to the properties and behaviours defined in the "building" class. [1]

👀 You've read 1 of your 5 free revision notes this week
An illustration of students holding their exam resultsUnlock more revision notes. It's free!

By signing up you agree to our Terms and Privacy Policy.

Already have an account? Log in

Did this page help you?

Craig Godbold

Author: Craig Godbold

Expertise: Computer Science Content Creator

Craig is an experienced educator with 14 years of teaching experience in the UK, USA, and China, He has held a variety of roles in education, including Head of Faculty, IB teacher and now currently teaches A level and GCSE courses. Craig supported his students to achieve the best results the school had ever had in IB Computer Science.

James Woodhouse

Reviewer: James Woodhouse

Expertise: Computer Science & English Subject Lead

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.

Download notes on Inheritance (OOP)