Junior — Middle
შეგიძლიათ ახსნათ მემკვიდრეობის მექანიზმი ობიექტზე ორიენტირებულ მოდელებში?
sobes.tech AI
პასუხი AI-სგან
ობიექტზე ორიენტირებულ პროგრამირებაში მემკვიდრეობა საშუალებას აძლევს შექმნას ახალი კლასი არსებული კლასის საფუძველზე, გადმოყრის მისი თვისებები (ატრიბუტები) და მეთოდები. ეს ეხმარება კოდის გადამეორებას და კლასების იერარქიების შექმნას.
Python-ში მემკვიდრეობა რეალიზებულია ახალი კლასი განსაზღვრისას ძირითადი კლასი მითითებით:
class Animal:
def speak(self):
print("ცხოველი ხმას გამოსცემს")
class Dog(Animal): # Dog მემკვიდრეობს Animal-დან
def speak(self):
print("ჰაუ ჰაუ")
dog = Dog()
dog.speak() # გამოიტანს: ჰაუ ჰაუ
აქ, კლასი Dog მემკვიდრეობს მეთოდს speak-დან Animal-ისგან, მაგრამ მას გადაწერს. თუ მეთოდი გადაწერილი არ არის, გამოიყენება ძირითადი კლასის მეთოდი. მემკვიდრეობა საშუალებას აძლევს შექმნას უფრო სპეციალიზებული კლასი ზოგადი კლასების საფუძველზე.