با عرض درود و خسته نباشید, من یک سوالیی که برام پیش اومدع این هستش که در این ویدیو چطور در فایل estate بدون وجود ABC میشع از abstract method استفاده کرد؟ من با اینکه از کلاس Base ارث بری کردم اما باز نمیتونم از abstract method استفاده کنم.
from abc import ABC
class Base(ABC):
_id = 0
object_list = list()
def __init__ (self, *args, **kwargs):
self.id = self.generate_id()
self.store(self)
super().__init__(*args, **kwargs)
@classmethod
def generate_id(cls):
cls._id += 1
return cls._id
@classmethod
def store(cls, obj):
cls.object_list.append(obj)
***********************************************************
from user import User
class Estate(Base):
def __init__(self, user, area, built_year, num_rooms, region, address,*args, **kwargs):
self.seller = user
self.area = area
self.built_year = built_year
self.num_rooms = num_rooms
self.region = region
self.address = address
super().__init__(*args, **kwargs)
@abstractmethod
def show_desription(self):
pass
class Apartment(Estate):
def __init__(self, has_elavator, has_parking, floor, *args, **kwargs):
self.has_elavator = has_elavator
self.has_parking = has_parking
self.floor = floor
super().__init__(*args, **kwargs)
class House(Estate):
def __init__(self, has_garden, number_of_floors,*args, **kwargs):
self.has_garden = has_garden
self.number_of_floors = number_of_floors
super().__init__(*args, **kwargs)
class Store(Estate):
pass