Types of Inheritance
Types of Inheritance
Types of Inheritance
In Python, based upon the number of child and parent classes involved, there
are five types of inheritance. The types of inheritance are listed below:
1. Single inheritance
2. Multiple Inheritance
3. Multilevel inheritance
4. Hierarchical Inheritance
5. Hybrid Inheritance
Single Inheritance
In single inheritance, a child class inherits from a single-parent class. Here
is one child class and one parent class.
Parent Class
Child Class
Example
Let’s create one parent class called Vehicle and one child class called Car to
implement single inheritance.
# Base class
class Vehicle:
def Vehicle_info(self):
print('Inside Vehicle class')
# Child class
class Car(Vehicle):
def car_info(self):
print('Inside Car class')
Output
Multiple Inheritance
In multiple inheritance, one child class can inherit from multiple parent
classes. So here is one child class and multiple parent classes.
Example
# Parent class 1
class Person:
def person_info(self, name, age):
print('Inside Person class')
print('Name:', name, 'Age:', age)
# Parent class 2
class Company:
def company_info(self, company_name, location):
print('Inside Company class')
print('Name:', company_name, 'location:', location)
# Child class
class Employee(Person, Company):
def Employee_info(self, salary, skill):
print('Inside Employee class')
print('Salary:', salary, 'Skill:', skill)
# access data
emp.person_info('Jessa', 28)
emp.company_info('Google', 'Atlanta')
emp.Employee_info(12000, 'Machine Learning')
Output
Multilevel inheritance
In multilevel inheritance, a class inherits from a child class or derived class.
Suppose three classes A, B, C. A is the superclass, B is the child class of A, C is the
child class of B.
Example
# Base class
class Vehicle:
def Vehicle_info(self):
print('Inside Vehicle class')
# Child class
class Car(Vehicle):
def car_info(self):
print('Inside Car class')
# Child class
class SportsCar(Car):
def sports_car_info(self):
print('Inside SportsCar class')
Output
Hierarchical Inheritance
In Hierarchical inheritance, more than one child class is derived from a
single parent class. In other words, we can say one parent class and multiple child
classes.
Example
Let’s create ‘Vehicle’ as a parent class and two child class ‘Car’ and ‘Truck’ as a
parent class.
class Vehicle:
def info(self):
print("This is Vehicle")
class Car(Vehicle):
def car_info(self, name):
print("Car name is:", name)
class Truck(Vehicle):
def truck_info(self, name):
print("Truck name is:", name)
obj1 = Car()
obj1.info()
obj1.car_info('BMW')
obj2 = Truck()
obj2.info()
obj2.truck_info('Ford')
Output
This is Vehicle
This is Vehicle
Hybrid Inheritance
When inheritance is consists of multiple types or a combination of different
inheritance is called hybrid inheritance.
Example
class Vehicle:
def vehicle_info(self):
print("Inside Vehicle class")
class Car(Vehicle):
def car_info(self):
print("Inside Car class")
class Truck(Vehicle):
def truck_info(self):
print("Inside Truck class")
# create object
s_car = SportsCar()
s_car.vehicle_info()
s_car.car_info()
s_car.sports_car_info()
Note: In the above example, hierarchical and multiple inheritance exists. Here
we created, parent class Vehicle and two child classes named Car and Truck this is
hierarchical inheritance.
Another is SportsCar inherit from two parent classes named Car and Vehicle.
This is multiple inheritances.