Sobes.tech
Junior — Middle

Össze lehet vonni vagy összeadni két osztályt Pythonban úgy, hogy létrehozunk egy új objektumot, amely összefoglalja azok tulajdonságait?

sobes.tech MI

Válasz az MI-től

Igen, Pythonban lehetőség van egy új objektum létrehozására, amely két osztály tulajdonságait egyesíti, több öröklés vagy dinamikus osztálykészítés segítségével.

Többszörös öröklés példája:

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

Szintén használható a type függvény a tulajdonságokat egyesítő osztály dinamikus létrehozására:

C = type('C', (A, B), {})
obj = C()

Így az új objektum mindkét osztály tulajdonságait tartalmazza.