Sobes.tech
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.