Subjects

All subjects Django Java Python React Spring Boot JavaScript PHP
Sign Up Free
Question 8 of 10 · Object-Oriented Programming (OOP)
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 ** 2
from 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 methods

Was this answer clear?