Sobes.tech
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(ჩემი_ძაღლი.სახელი) # მემკვიდრეობით მიღებული ატრიბუტი
ჩემი_ძაღლი.ხმაური() # გადაწერილი მეთოდი