Junior — Middle
Ar įmanoma Python'e sujungti arba sudėti dvi klases, sukuriant naują objektą, kuris sujungia jų savybes?
sobes.tech AI
Atsakymas iš AI
Taip, Python galima sukurti naują objektą, kuris sujungia dviejų klasių savybes, naudojant daugiavaikystę arba dinamiškai kuriant naują klasę.
Pavyzdys su daugiavaikyste:
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
Taip pat galima naudoti type funkciją dinamiškai kurti klasę, kuri sujungia savybes:
C = type('C', (A, B), {})
obj = C()
Šiuo būdu naujas objektas turės abiejų klasių savybes.