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