Categories: python

Inheritance in Python

Inheritance is a fundamental idea in object-oriented programming (OOP) languages. By deriving a class from another class, you can use this mechanism to build a hierarchy of classes that share a set of properties and methods.

Benefits of inheritance include:
  • It accurately depicts real-world relationships.
  • It offers a code’s reusability. We don’t need to keep writing the same code. Additionally, it enables us to expand a class’s features without changing them.
  • Because of its transitive nature, if class B inherits from class A, then all of class B’s subclasses will also automatically inherit from class A.
  • A clear, understandable model structure is provided by inheritance.
  • An inheritance reduces the cost of development and maintenance.
Syntax for Inheritance:
Class BaseClass:
    Body
Class DerivedClass(BaseClass):
    Body
Example:

class Person(object):

 # Constructor
 def __init__(self, name):
  self.name = name

 # To get name
 def getName(self):
  return self.name

 # To check if this person is an employee
 def isStudent(self):
  return False


# Inherited or Subclass (Note Person in bracket)
class Student(Person):

 # Here we return true
 def isStudent(self):
  return True


# Driver code
obj = Person("Mayank") # An Object of Person
print(obj.getName(), obj.isStudent())

obj = Student("Shital") # An Object of Employee
print(obj.getName(), obj.isStudent())
Output:
Mayank False
Shital True
Using the Child Class to Access the Parent Class Element:

You might occasionally need to use the functions or properties of the parent class while working in a child class. The dot. operator can be used to access the elements of a parent class.

Example:

Parent.variableName

We have a straightforward example to illustrate this below:

class Parent:
   var1 = 1
   def func1(self):
       # do something here

class Child(Parent):
   var2 = 2
   def func2(self):
        # do something here too
    # time to use var1 from 'Parent'
       myVar = Parent.var1 + 10
       return myVar

Note: also read about Destructors in Python

Follow Me

Please follow me to read my latest post on programming and technology if you like my post.

https://www.instagram.com/coderz.py/

https://www.facebook.com/coderz.py

Recent Posts

Select a Random Element from a Stream

You are given a stream of elements that is too large to fit into memory.…

2 days ago

Estimate π Using Monte Carlo Method

The formula for the area of a circle is given by πr². Use the Monte…

3 weeks ago

Longest Substring with K Distinct Characters

Given an integer k and a string s, write a function to determine the length…

3 weeks ago

Staircase Climbing Ways

There is a staircase with N steps, and you can ascend either 1 step or…

4 weeks ago

Autocomplete System Implementation

Build an autocomplete system that, given a query string s and a set of possible…

4 weeks ago

Job Scheduler Implementation

Design a job scheduler that accepts a function f and an integer n. The scheduler…

4 weeks ago