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()

ამ გზით, ახალი ობიექტი შეიცავს ორივე კლასის თვისებებს.