Sobes.tech
Junior — Middle

Vai Python var apvienot vai saskaitīt divas klases, izveidojot jaunu objektu, kas apvieno to īpašības?

sobes.tech AI

Atbilde no AI

Jā, Python ir iespējams izveidot jaunu objektu, kas apvieno divu klases īpašības, izmantojot daudzmantošanu vai dinamisku jaunas klases izveidi.

Piemērs ar daudzmantošanu:

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

Tāpat var izmantot type funkciju, lai dinamiski izveidotu klasi, kas apvieno īpašības:

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

Tādējādi jaunais objekts saturēs abu klases īpašības.