Here is a way to understand object oriented programming concepts in Python. Below, you will find three Oops concepts
OOPs Concepts in Python
Python Inheritance
This program consists of two classes, viz., ‘Base’ and ‘Derived’. The derived class inherits the base class properties through the statement ‘class Derived(Base):’.
This means that the methods and attributes of the class ‘Base’ can be accessed through an instance of class ‘Derived’. Check out 4 Top Python Oops Concepts Simplify Your Coding.
class Base:
def __init__(self):
self.name="Lena Headey"
def display(self):
print(self.name)
class Derived(Base): #inherits from class, Base
def disp(self):
print("Derived method")
o=Derived() #Derived class object
o.display() #Base class method
o.disp() #Derived class method
Python Polymorphism
Method Overriding- The method ‘display()’ is overloaded in a different way. The method is not defined twice but still performs different functions in two different situations. The argument list of the method ‘display(‘) contains a statement, ‘x=”winter is coming!”’.
class A:
def __init__(self):
self.s="Winter is coming!"
def display(self):
print(self.s)
class B:
def __init__(self):
self.s="Winter is here!"
def display(self):
print(self.s)
A().display()
B().display()
This essentially means that in the absence of an argument in the calling method object, x will contain the string, “winter is coming!” by default.
In case an explicit argument is passed while invoking the method, the variable x will no longer contain the default value.
Instead, it will hold the value passed in the argument while invoking a method.
Python Overloading
Operator Overloading
class myclass:
def __init__(self,x,y):
self.x=x
self.y=y
def __add__(self,o):
temp=myclass(self.x,o.x)
temp.x=self.x+o.x
temp.y=self.y+o.y
return temp
o1=myclass(3,4)
o2=myclass(6,7)
o3=o1+o2
print("o1.x= ",o1.x," o1.y= ",o1.y)
print("o2.x= ",o2.x," o2.y= ",o2.y)
print("After adding o1 and o2:")
print("o3.x= ",o3.x," o3.y= ",o3.y)
The operator, ’+’ is overloaded by redefining the ‘__add__()’ method that adds the values stored in two objects and returns an object of a similar type. Here is Basic Python Oops Concepts.
It is important to note that the first operand, ‘o1’, invokes the ‘__add__()’ method, and the instance, ‘o2’, is passed as a reference to this method.
The returned object is stored in ‘o3’, which is then used to access the added results.
Related Posts
References