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,
SunsirDzī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