Sobes.tech
Junior — Middle

Կարո՞ղ է Python-ում երկու դասերը միացնել կամ գումարել՝ ստեղծելով նոր օբյեկտ, որը միավորում է նրանց հատկությունները։

sobes.tech AI

Պատասխան AI-ից

Այո, Python-ում հնարավոր է ստեղծել նոր օբյեկտ, որը միավորում է երկու դասերի հատկությունները, օգտագործելով բազմաբնույթ ժառանգություն կամ դինամիկորեն նոր դաս ստեղծելու միջոցով:

Բազմաբնույթ ժառանգության օրինակ:

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

Նույնպես, կարող եք օգտագործել type ֆունկցիան՝ դինամիկորեն ստեղծելու դաս, որը միավորում է հատկությունները:

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

Այսպիսով, նոր օբյեկտը կպահպանի երկու դասերի հատկությունները։