سلام و وقت بخیر
class BaseClass(ABC):
id = 0
object_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)
این کد مربوط به BaseClass هست. سوالی ذهنم و درگیر کرده که متوجه اش نمیشم. ممنون میشم راهنمایی کنید.
چرا وقتی که id ما مثلا توسط یکی از از فرزندها مثل user به مقدار 5 رسیده، بعد از اینکه ما یک فرزند دیگه مثل House رو میخوایم بسازیم، id به صفر تبدیل میشه و house هم برای خودش id یکتا پیدا میکنه، هرطور فکر میکنم اینا باید پشت سر هم باشن و id ما که قبلا 5 بوده الان 6 باشه اما اینجوری نیست، این در حالیه که house و user همه در object_list ذخیره میشن اما هر کلاسی برای خودش id یکتا میسازه
من بیشتر مشکل مفهومی هست، درک نمیکنم که چرا به این صورت در میاد
اگه بشه به صورت شماتیک بهم یاد بدید ممنون میشم