Intern
პროგრამირებაში მემკვიდრეობა რა არის და რა მიზნით გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
მემკვიდრეობა არის ობიექტზე ორიენტირებული პროგრამირების (OOP) მექანიზმი, რომელიც საშუალებას აძლევს ერთ კლასს (შთამომავალი, განშტოება) მემკვიდრეობით მიიღოს სხვა კლასის (მშობელი, საწყისი) თვისებები (ატრიბუტები) და ქცევა (მეთოდები).
გამოყენება:
- კოდის გადამეორებითი გამოყენება: მშობლის კლასის მეთოდები და ატრიბუტები ხელმისაწვდომია შთამომავლის კლასში, რაც თავიდან აცილებს კოდის დუბლირებას.
- კლასების იერარქიების შექმნა: საშუალებას აძლევს მოდელირებას "არის" (is-a) ურთიერთობების ობიექტებს შორის. მაგალითად,
ძაღლიარისცხოველი. - ფუნქციონალობის გაფართოება: შთამომავალი კლასი შეიძლება დაამატოს საკუთარი ატრიბუტები და მეთოდები ან გადაწეროს (შეცვალოს) მემკვიდრეობით მიღებული ქცევა.
- პოლიმორფიზმი: დინამიური დისპეჩერიზაციასთან ერთად, მემკვიდრეობა საშუალებას აძლევს სხვადასხვა ტიპის ობიექტების დამუშავებას, რომლებიც მიმართულია მათი საწყისი კლასისკენ.
Python-ის მაგალითი:
class ცხოველი:
# საწყისი კლასი
def __init__(self, სახელი):
self.სახელი = სახელი
def ხმაური(self):
pass # ცარიელი მეთოდი, გადაწერილი იქნება შთამომავლებში
class ძაღლი(ცხოველი):
# შთამომავალი კლასი
def __init__(self, სახელი, ჯიში):
super().__init__(სახელი) # მშობლის კონსტრუქტორის გამოძახება
self.ჯიში = ჯიში
def ხმაური(self):
# მეთოდის გადაწერა
print("ჰაუ!")
# გამოყენება
ჩემი_ძაღლი = ძაღლი("Бобик", "გლუვი")
print(ჩემი_ძაღლი.სახელი) # მემკვიდრეობით მიღებული ატრიბუტი
ჩემი_ძაღლი.ხმაური() # გადაწერილი მეთოდი