Sobes.tech
Intern

Kas ir mantošana programmēšanā un kam tā tiek izmantota?

sobes.tech AI

Atbilde no AI

Mantošana ir objektiivās programmēšanas (OOP) mehānisms, kas ļauj vienai klasei (apakšklasei, iegūtajai) mantoēt īpašības (atribūtus) un uzvedību (metodes) no citas klases (vecāka, pamata).

Izmanto:

  • Koda atkārtota izmantošana: Pamata klases metodes un atribūti ir pieejami apakšklasē, kas novērš koda dublēšanu.
  • Klases hierarhiju veidošana: Ļauj modelēt "ir" (is-a) attiecības starp objektiem. Piemēram, Suns ir Dzīvnieks.
  • Funkcionalitātes paplašināšana: Apakšklase var pievienot savus atribūtus un metodes vai pārrakstīt (mainīt) mantojošo uzvedību.
  • Polimorfisms: Kopā ar dinamisko izplatīšanu, mantošana ļauj apstrādāt dažādu tipu objektus, atsaucoties uz to pamata klasi.

Piemērs Python:

class Dzīvnieks:
    # Pamata klase
    def __init__(self, vārds):
        self.vārds = vārds

    def radīt_sound(self):
        pass # Tukša metode, tiks pārrakstīta apakšklasēs

class Suns(Dzīvnieks):
    # Apakšklase
    def __init__(self, vārds, šķirne):
        super().__init__(vārds) # Izsauc pamata klases konstruktoru
        self.šķirne = šķirne

    def radīt_sound(self):
        # Pārrakstīšana
        print("Vau!")

# Lietošana
mans_suns = Suns("Бобик", "Vācu aitu suns")
print(mans_suns.vārds) # Mantojamais atribūts
mans_suns.radīt_sound() # Pārrakstītā metode