To create an abstract class named Shape with an abstract method calculate_area, and implement this method in two subclasses: Rectangle and Circle.
-
Import ABC module:
- Use
from abc import ABC, abstractmethodto define abstract classes and methods.
- Use
-
Create Abstract Class
Shape:- Define an abstract method
calculate_area()with@abstractmethod.
- Define an abstract method
-
Create Subclass
Rectangle:- Set default values for
lengthandbreadth. - Override
calculate_area()to compute the rectangle area.
- Set default values for
-
Create Subclass
Circle:- Set default value for
radius. - Override
calculate_area()to compute the circle area.
- Set default value for
-
Create Objects & Call Methods:
- Instantiate
RectangleandCircle. - Call their
calculate_area()methods.
- Instantiate
from abc import ABC, abstractmethod
import math
class Shape(ABC):
@abstractmethod
def calculate_area(self):
pass
class Rectangle(Shape):
def __init__(self, length=1, breadth=1):
self.length = length
self.breadth = breadth
def calculate_area(self):
return self.length * self.breadth
class Circle(Shape):
def __init__(self, radius=1):
self.radius = radius
def calculate_area(self):
return math.pi * self.radius *self radius
rect = Rectangle(5, 3)
circle = Circle(4)
print("Area of Rectangle:", rect.calculate_area())
print("Area of Circle:", circle.calculate_area())
Thus , the program has been executed successfully.
To implement Encapsulation in Python by defining a class Rectangle with private member variables __length and __breadth.
-
Define the Class:
- Create a class
Rectanglewith two private attributes:__lengthand__breadth.
- Create a class
-
Initialize Variables:
- Use the
__init__()constructor to set initial values for__lengthand__breadth.
- Use the
-
Print Values:
- Display the private variables from within the class to demonstrate access.
-
Instantiate the Object:
- Create an object of the
Rectangleclass to trigger the constructor.
- Create an object of the
class Rectangle:
def __init__(self, length, width):
# private variables
self.__length = length
self.__width = width
def display(self):
# accessing private variables within the class
print(self.__length)
print(self.__width)
# create object
rect = Rectangle(5, 3)
# print values within the class
rect.display()
Thus , the program has been executed successfully.
To write a Python program that demonstrates class inheritance by creating a parent class Fish with a method type, and a child class Shark that overrides the type method.
- Define the
Fishclass with a method namedtype()that prints"fish". - Define the
Sharkclass as a subclass ofFish, and override thetype()method to print"shark". - Create an instance of the
Fishclass namedobj_goldfish. - Create an instance of the
Sharkclass namedobj_hammerhead. - Use a
forloop to iterate over both objects. - Within the loop, call the
type()method using the loop variable. - Output will demonstrate method overriding: printing
"fish"and"shark"accordingly.
class Fish:
def type(self):
print("fish")
class Shark:
def type(self):
print("shark")
obj_goldfish=Fish()
obj_hammerhead=Shark()
for i in (obj_goldfish,obj_hammerhead):
i.type()
Thus , the program has been executed successfully.
To write a Python program that demonstrates operator overloading by overloading the less than (<) operator using a custom class.
-
Create Class
A:- Define the
__init__()method to initialize the object with a valuea.
- Define the
-
Overload the
<Operator:- Define the
__lt__()method with logic:- If
self.a < o.a, return"ob1 is less than ob2" - Else, return
"ob2 is less than ob1"
- If
- Define the
-
Create Objects:
- Instantiate two objects
ob1andob2with values.
- Instantiate two objects
-
Use
<Operator:- Use
print(ob1 < ob2)to trigger the overloaded behavior.
- Use
class A:
def __init__(self, a):
self.a = a
def __lt__(self, other):
if(self.a<other.a):
return "ob1 is less than ob2"
else:
return "ob2 is less than ob1"
ob1 = A(20)
ob2 = A(3)
print(ob1 < ob2)
Thus , the program has been executed successfully.
To create two specific classes β Beans and Mango. Then, create a generic function that can accept any object and determine its type (Fruit or Vegetable) and color, using polymorphism.
-
Create Class
Beans:- Define
type()method that prints"Vegetable". - Define
color()method that prints"Green".
- Define
-
Create Class
Mango:- Define
type()method that prints"Fruit". - Define
color()method that prints"Yellow".
- Define
-
Define Generic Function
func(obj):- Call
obj.type()andobj.color()β this works with bothBeansandMangoobjects, showcasing polymorphism.
- Call
-
Create Objects:
- Instantiate
BeansandMango. - Pass them to
func()and execute the program.
- Instantiate
class Beans():
def type(self):
print("Vegetable")
def color(self):
print("Green")
class Mango():
def type(self):
print("Fruit")
def color(self):
print("Yellow")
obj_beans = Beans()
obj_mango = Mango()
for i in (obj_beans,obj_mango):
i.type()
i.color()
Thus , the program has been executed successfully.
