Sobes.tech
Junior — Middle

Da li je moguće u Pythonu spojiti ili sabrati dve klase kreiranjem novog objekta koji objedinjuje njihove osobine?

sobes.tech АИ

Одговор од АИ

Da, u Pythonu je moguće kreirati novi objekat koji kombinuje svojstva dve klase, koristeći višestruko nasleđivanje ili dinamičko kreiranje nove klase.

Primer sa višestrukim nasleđivanjem:

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

Takođe, možete koristiti funkciju type za dinamičko kreiranje klase koja kombinuje svojstva:

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

Na ovaj način, novi objekat će sadržati svojstva obe klase.