Paveldėjimas (programavimas): Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
Nėra keitimo santraukos
Elnuko (aptarimas | indėlis)
S rv
Eilutė 1:
'''Paveldėjimas''' - [[Objektinis programavimas|objektinio programavimo]] principas, kai tam tikra [[klasė (programavimas)|klasė]] yra kitos klasės konkretizacija. Bendresnė klasė vadinama '''tėvine klase''' ar '''viršklasiu''', paveldėjusi klasė - '''dukterine klase''' ar '''poklasiu'''. Paveldėjimo ryšys kartais vadinamas '''specializacija''' (klasė "Dramblys" specializuoja klasę "Žinduolis") arba '''generalizacija''' (klasė "Lėktuvas" generalizuoja klasę "An-24").
 
Paveldėjusi klasė perima visą tėvinės klasės funkcionalumą, kurį gali iš dalies pakeisti bei papildyti. Prireikus, su paveldėjusios klasės objektais galima dirbti kaip su tėvinės klasės objektais, pavyzdžiui, paduoti metodui, kuriis priima tėvinės klasės tipo parametrą.
 
Kai kurios [[programavimo kalba|programavimo kalbos]] leidžia daugybinį paveldėjimą (pvz., klasė "Studentų choro narys", paveldinti iš klasių "Studentas" ir "Dainininkas").
 
==Pavyzdys==
[[Image:Klasiu-paveldimumas.png|thumb|Paveldėjimo schema]]
Jei turime klasę "Paukštis" ir klasę "Pingvinas", paveldinčią iš "Paukščio", kiekvienas "Pingvinų" klasės objektas turės ir Paukščio [[metodas (programavimas)|metodus]] (''lesti()'', ''perėti()'') ir Pingvino metodus (''plaukti()''). Jei turėtume klasę medžiotojas su metodu ''daryti iškamšą'' su vienu parametru (parametro tipas - klasė "Paukštis"), šis metodas veiks paduodant parametrą, kurio tipas yra "Pingvinas".
 
[[Category:Objektinis programavimas]]
 
[[de:Objektorientierte Programmierung#Vererbung]]
[[en:Inheritance (computer science)]]
[[it:Ereditarietà (informatica)]]
[[nl:Overerving (informatica)]]
[[pl:Dziedziczenie (programowanie obiektowe)]]
[[pt:Herança]]
[[zh:继承 (计算机科学)]]