Sobes.tech
Junior — Middle

Kas Pythonis on võimalik ühendada või liita kaks klassi, luues uue objekti, mis ühendab nende omadused?

sobes.tech AI

Vastus AI-lt

Jah, Pythonis on võimalik luua uus objekt, mis ühendab kahe klassi omadused, kasutades mitme pärimise või dünaamilise uue klassi loomise meetodit.

Näide mitme pärimisega:

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

Samuti saab kasutada type funktsiooni, et dünaamiliselt luua klass, mis ühendab omadused:

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

Nii sisaldab uus objekt mõlema klassi omadusi.