Junior — Middle
Je možné v Pythone spojiť alebo sčítať dve triedy vytvorením nového objektu, ktorý spája ich vlastnosti?
sobes.tech AI
Odpoveď od AI
Áno, v Pythone je možné vytvoriť nový objekt, ktorý kombinuje vlastnosti dvoch tried, pomocou viacnásobného dedičstva alebo dynamického vytvárania novej triedy.
Príklad s viacnásobným dedičstvom:
class A:
def __init__(self):
self.a = 1
class B:
def __init__(self):
self.b = 2
class C(A, B):
def __init__(self):
A.__init__(self)
B.__init__(self)
obj = C()
print(obj.a) # 1
print(obj.b) # 2
Tiež môžete použiť funkciu type na dynamické vytvorenie triedy, ktorá spája vlastnosti:
C = type('C', (A, B), {})
obj = C()
Týmto spôsobom bude nový objekt obsahovať vlastnosti oboch tried.