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.