Interview question
What is abstraction and how do you implement it? Abstraction क्या है और इसे कैसे implement करें?
Answer
from abc import ABC, abstractmethod
# Abstract class
class Vehicle(ABC):
@abstractmethod
def start(self):
pass
@abstractmethod
def stop(self):
pass
def info(self):
print('This is a vehicle') # Concrete method
# Concrete implementation
class Car(Vehicle):
def start(self):
return 'Car started'
def stop(self):
return 'Car stopped'
class Bike(Vehicle):
def start(self):
return 'Bike started'
def stop(self):
return 'Bike stopped'
# Using abstract class
vehicles = [Car(), Bike()]
for vehicle in vehicles:
print(vehicle.start())
vehicle.info()
print(vehicle.stop())
# Can't instantiate abstract class
# v = Vehicle() # TypeError
# Abstract properties
class Shape(ABC):
@property
@abstractmethod
def area(self):
pass
class Square(Shape):
def __init__(self, side):
self._side = side
@property
def area(self):
return self._side ** 2from abc import ABC, abstractmethod
class AbstractClass(ABC):
@abstractmethod
def method(self):
pass
class ConcreteClass(AbstractClass):
def method(self):
print('Implementation')
# Can't create instance of abstract class
# obj = AbstractClass() # Error
# Must implement abstract methodsWas this answer clear?