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
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())
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.
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
Please follow me to read my latest post on programming and technology if you like my post.
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.