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
Staying up to the mark is what defines me. Hi all! I’m Rabecca Fatima a keen learner, great enthusiast, ready to take new challenges as stepping stones towards flying colors.
Leave a Comment