Junior — Middle
Lze v Pythonu sloučit nebo sčítat dvě třídy vytvořením nového objektu, který spojuje jejich vlastnosti?
sobes.tech AI
Odpověď od AI
Ano, v Pythonu je možné vytvořit nový objekt, který kombinuje vlastnosti dvou tříd, pomocí vícenásobného dědičnosti nebo dynamického vytváření nové třídy.
Příklad s vícenásobným dědičností:
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
Také lze použít funkci type k dynamickému vytvoření třídy, která spojuje vlastnosti:
C = type('C', (A, B), {})
obj = C()
Tímto způsobem bude nový objekt obsahovat vlastnosti obou tříd.