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

Find Intersection of Two Singly Linked Lists

You are given two singly linked lists that intersect at some node. Your task is…

10 hours ago

Minimum Cost to Paint Houses with K Colors

A builder plans to construct N houses in a row, where each house can be…

3 days ago

Longest Absolute Path in File System Representation

Find the length of the longest absolute path to a file within the abstracted file…

3 weeks ago

Efficient Order Log Storage

You manage an e-commerce website and need to keep track of the last N order…

1 month ago

Select a Random Element from a Stream

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

1 month ago

Estimate π Using Monte Carlo Method

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

2 months ago