Python

How to Implement Inheritance in Python

Programmingempire

In this article I will explain How to Implement Inheritance in Python. In brief, inheritance allows the child class to inherit the properties of the parent class. While the parent class or the base class is the class that is being inherited. While the child class or the subclass is the class that inherits properties from the base class.

Creating the Base Class

We create the base class as an ordinary class containg attributes, methods, and the constructor. The __init__() function is similar to the constructor. Like a C# class constructor, it initializes the state of the object. Also, a python class can use the self keyword that represents the instance of the class. Therefore we can use the self keyword to access the attributes and methods of a class.

While, we can create attributes of a class within the __init__() function. However, we can only use these attributes through the object of that class.

Creating a Subclass in Python

In order to create a subclass in python, we need to enclose the base class name in a parenthesis which follows the subclass name. For example, we can create a subclass as follows:

class subclass_name(baseclass_name):

The following example demonstrates how to create subclasses in python. As can be seen, the class named MyClass is the base class. While, the classes MySubClass1 and MySubClass2 are derived classes. Furter, the base class contains three methods. Also, it has two instance attributes – x, and y.

Using the pass Keyword

Basically, pass represents a null statement in Python. When this statement encounters, nothing happens. The following definition of MySubClass2 indicates that, this class doesn’t add further in its definition.

Overriding Methods in Python

As can be seen in the definition of MyClass and MySubClass2, both of these classes contain the method show(). Therefore, the show() method in MySubClass2 overrides the definition of show() method defined in MyClass.

class MyClass:
	def __init__(self, x, y):
		print("__init__() Function of Parent Class...")
		self.x=x
		self.y=y

	def showSum(self):
		print("Sum = ", self.x+self.y)

	def showProduct(self):
		print("Product = ", self.x*self.y)
	def show(self):
		print("x = ", self.x, " y = ", self.y)

class MySubClass1(MyClass):
	pass

class MySubClass2(MyClass):
	def __init__(self, x, y, z):
		super().__init__(x,y)
		print("__init__() function of Sub Class 2...")
		self.z=z
	def ThreeSum(self):
		print("Sum of 3 = ", self.x+self.y+self.z)

	def ThreeProduct(self):
		print("Product of 3 = ", self.x*self.y*self.z)
	def show(self):
		print("x = ", self.x, " y = ", self.y, " z = ", self.z)


print("Creating First Object of Parent Class")	
ob1=MyClass(45, 27)
ob1.show()
ob1.showSum()
ob1.showProduct()


print("Creating Second Object of Sub Class 1")	
ob2=MySubClass1(8, 16)
ob2.show()
ob2.showSum()
ob2.showProduct()


print("Creating Third Object of Sub Class 2")
ob3=MySubClass2(11, 54, 39)
ob3.show()
ob3.ThreeSum()
ob3.ThreeProduct()

Output

The Output Showing How to Implement Inheritance in Python
The Output Showing How to Implement Inheritance in Python

Further Reading

Deep Learning Tutorial

Text Summarization Techniques

How to Implement Inheritance in Python

Find Prime Numbers in Given Range in Python

Running Instructions in an Interactive Interpreter in Python

Deep Learning Practice Exercise

Python Practice Exercise

Deep Learning Methods for Object Detection

Understanding YOLO Algorithm

What is Image Segmentation?

ImageNet and its Applications

Image Contrast Enhancement using Histogram Equalization

Transfer Learning and its Applications

Examples of OpenCV Library in Python

Examples of Tuples in Python

Python List Practice Exercise

Understanding Blockchain Concepts

Edge Detection Using OpenCV

Predicting with Time Series

Example of Multi-layer Perceptron Classifier in Python

Measuring Performance of Classification using Confusion Matrix

Artificial Neural Network (ANN) Model using Scikit-Learn

Popular Machine Learning Algorithms for Prediction

Long Short Term Memory – An Artificial Recurrent Neural Network Architecture

Python Project Ideas for Undergraduate Students

Creating Basic Charts using Plotly

Visualizing Regression Models with lmplot() and residplot() in Seaborn

Data Visualization with Pandas

A Brief Introduction of Pandas Library in Python

A Brief Tutorial on NumPy in Python

programmingempire

You may also like...