Programming Inheritance (OCR A Level Computer Science)

Revision Note

Robert Hampton

Expertise

Computer Science Content Creator

Programming Inheritance

  • To program inheritance, you should already have a solid understanding of what inheritance in Object Oriented Programming (OOP) is.

How do you Define Inheritance?

Pseudocode

Pseudocode for a class created using inheritance (part 1)
Pseudocode for a class created using inheritance (part 2)

Pseudocode for a class created using inheritance

Java

//vehicle class created

public class Vehicle {

       //attributes created for the vehicle class

    private String manufacturer;

    private String make;

    private double cost;

 

    //constructor to create objects of type vehicle

    public Vehicle(String manufacturer, String make, double cost) {

        this.manufacturer = manufacturer;

        this.make = make;

        this.cost = cost;

    }

 

    //method to start the engine of the car

    public void turnEngineOn() {

        //code to turn the engine on

    }

    //method to stop the engine of the car

    public void turnEngineOff() {

        //code to turn the engine off

}

    //method to steer the car to the left

    public void steerLeft() {

        // code to steer the vehicle left

    }

    //method to steer the car to the right

    public void steerRight() {

        // code to steer the vehicle right

    }

}

 

//Derived Class (Car)

//the Car class uses the keyword 'extends' to inherit from the Vehicle class

public class Car extends Vehicle {

    private boolean isInsured;

    private double engineCapacity;

 

    // Constructor to create objects of type Car

    public Car(String manufacturer, String make, double cost, boolean isInsured, double   engineCapacity) {

       //the super keyword is used to inherit the attributes from the base class

         super(manufacturer, make, cost);

        this.isInsured = isInsured;

        this.engineCapacity = engineCapacity;

    }

    //method to change gear 

    public void gearChange() {

        //code to change the gear of the car

    }

    //method to unlock the vehicle doors

    public void unlockDoors() {

        //code to unlock the doors of the car

    }

}

Python

#Base class (Vehicle)

#Vehicle class created

class Vehicle:

     #attributes created for the Vehicle class 

   def __init__(self, manufacturer, make, cost):

        self.manufacturer = manufacturer

        self.make = make

        self.cost = cost

 

     #method to start the engine of the car   

   def turn_engine_on(self):

        # Code to turn the engine on

      

    #method to stop the engine of the car

    def turn_engine_off(self):

        # Code to turn the engine off

    

        #method to steer the car to the left

    def steer_left(self):

        # Code to steer the vehicle left

    

        #method to steer the car to the right

    def steer_right(self):

        # Code to steer the vehicle right

 

#Derived Class (Car)

#the Car class uses the keyword parent class name in parenthesis to inherit from the Vehicle class

class Car(Vehicle):

    def __init__(self, manufacturer, make, cost, is_insured, engine_capacity):

           #the super keyword is used to inherit the attributes from the base class

        super().__init__(manufacturer, make, cost)

        self.is_insured = is_insured

        self.engine_capacity = engine_capacity

    #method to change gear

    def gear_change(self):

        # Code to change the gear of the car

 

        #method to steer the car to the right

    def unlock_doors(self):

        # Code to unlock the doors of the car

You've read 0 of your 0 free revision notes

Get unlimited access

to absolutely everything:

  • Downloadable PDFs
  • Unlimited Revision Notes
  • Topic Questions
  • Past Papers
  • Model Answers
  • Videos (Maths and Science)

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

the (exam) results speak for themselves:

Did this page help you?

Robert Hampton

Author: Robert Hampton

Rob has over 16 years' experience teaching Computer Science and ICT at KS3 & GCSE levels. Rob has demonstrated strong leadership as Head of Department since 2012 and previously supported teacher development as a Specialist Leader of Education, empowering departments to excel in Computer Science. Beyond his tech expertise, Robert embraces the virtual world as an avid gamer, conquering digital battlefields when he's not coding.