با سلام خدمت شما استاد عزیز ....
ببخشید استاد من در قسمت وراثت چندگانگی یا MRO چیزی که متوجه شدم این بود ...که به صورت کلی ... ترتیب انجام عملیات ارث بری هستش و به ترتیب اون کلاس هایی که وارد میکنیم ارث بری میکنه....
الان این مفهموم دست هستش؟؟؟
و استاد شما در داخل دوره ی جنگو از این مفهوم استفاده کرده اید؟
من با استفاده از این مفاهیم برای خودم یه کدی زدم تا مفهومش بهتر جا بیافته...
class Base:
def __init__(self,name,family,age):
self.name = name
self.family = family
self.age = age
def sayHello(self):
return f"{self.name} Hello !!! "
class Base2(Base):
def __init__(self,name,family,email,age):
super().__init__(name,family,age)
self.email = email
def ShowFullName(self):
return f"{self.name} {self.family}"
class Base3(Base2,Base):
def GoodBye(self):
return f"{self.name} {self.family}"
class Base4(Base,Base2,Base3):
pass
# me = Base2('ali','talebi','test@test',23)
# print(me.email)
#
# you = Base3('aref','talebi','moh96ordo',23)
# print(you.sayHello())
we = Base4('mahsa','ahmadi','alirezatlb45@gmail.com',23)
print(we.family)
این از کد بالا ولی ...
ولی این خروجی بهم ارور میده....
Traceback (most recent call last):
File "C:/Users/SALAM/Desktop/programming/PYTHON/venv/Mymodules/Advanced/Getter-Setter/Getter-Setter.py", line 24, in <module>
class Base4(Base,Base2,Base3):
TypeError: Cannot create a consistent method resolution
order (MRO) for bases Base, Base2, Base3
سلام دوست من
شما مبحث MRO رو به اشتباه متوجه شدین
متدها باید همنام باشن و از طرف دیگه ورودی ارسال شده به base4 اصلا درست نیست
مجدد کدتون رو بازبینی کنین