Turinys
Paveldėjimas yra vienas iš būdų skatinti, kad nereikėtų per daug dirbti, padedant išvengti to paties kodo kelis kartus koduoti, galbūt galime pagalvoti, kad galime tai padaryti naudodami funkcijas, bet kas atsitinka, kai turime klasę ir norime padaryti labai panašų, kuris pakeistų tik vieną ar du aspektus, čia ir atsiranda.Paveldėjimas yra ne kas kita, kaip aukštesnės ir abstrakčios klasės atributų ir metodų perdavimas kitam, nesvarbu, ar norime ją sukonkretinti, ar padaryti daug abstraktesnę, išplėsdami jos veiksmų spektrą.
Trumpam įsivaizduokime, kad turime sudaryti stačiakampio klasę, tai yra kažkas gana specifinio, nes stačiakampis yra apibrėžta geometrinė figūra, tačiau, nepaisant to, jis turi bendrų savybių su kitomis figūromis, o kas būtų, jei vietoj konkrečios klasės sudarytume Figūrų klasė, į kurią įeina bendrieji aspektai ir atributai, o tada mūsų stačiakampio klasė paveldi tuos atributus ir tada mes turime tik pridėti konkrečius metodus ir atributus.
Klasė yra ne kas kita, kaip abstrakčiai apibrėžtų atributų ir metodų rinkinys, ant kurio galime kurti objektus. Mes galime pamatyti pavyzdį realiame gyvenime, jei matome paukštį pro langą, turime žinoti, kad jis priklauso paukščių klasei, bet jei šis paukštis yra erelis, tai sakome, kad jis yra vienas iš erelių pogrupio. savo ruožtu priklauso paukščių klasei, todėl galime ir toliau patikslinti nuo aukštesnio abstraktaus lygio (paukštis) iki konkretesnio lygio (erelis), o erelio savybės yra tai, kas jį apibrėžia ir išskiria iš kitų paukščių.
Pažiūrėkime nedidelį pavyzdį, kaip sukurti savo klases „Python“.
Kaip matome, mes apibrėžiame asmens klasę, o jos pagrindinis atributas yra vardas, sukuriame kelis vardo priskyrimo ir konsultavimo metodus bei pasveikinimo metodą, kuris leidžia objektui pasakyti jo identifikaciją.
Pažiūrėkime, kaip visa tai veiktų paprastos programos kontekste.
DIDELIS
Jei pažvelgsime į užduotį, foo = Person (), tai, ką mes iš tikrųjų darome, yra Person () tipo objekto sukūrimas, taigi dabar foo turės Asmens klasės atributus ir prieigą prie metodų.Tada mes matome, kad mes vadiname setName () metodą dviem skirtingiems objektams, čia mes jau nurodome kiekvieną su skirtingais atributais, bet kad jie priklauso tai pačiai klasei, kažkas panašaus į erelio pavyzdį, kurį matėme keletą pastraipų prieš.
Galiausiai, skambindami sveikinimo () metodui, kiekvienas objektas demonstruoja savo skirtumą, nepaisant to, kad prasideda nuo tos pačios abstrakčios kilmės. Tokiu būdu mums nereikėjo kiekvienam objektui parašyti apibrėžimo kodo, o tiesiog pakartotinai panaudoti abstraktų „Person“ klasės kodą.
Baigę šią pamoką, tai yra gana teorija, kurią privalome toliau praktikuoti ir gilinti, nes tai yra objektinio programavimo pagrindas, leidžiantis pasinaudoti daugeliu programos funkcijų. Python.