Pagrindinis skirtumas – kelių ir kelių lygių paveldėjimas
Objektinis programavimas (OOP) yra paradigma kurti programas naudojant klases ir metodus. Realaus pasaulio scenarijus galima susieti su objektais. Todėl nesunku kurti programinės įrangos sprendimus. Klasė yra objekto kūrimo planas. Jame yra savybės ir metodai. Pavyzdžiui, prieš kuriant mokinio objektą, turi būti klasės mokinys su savybėmis ir metodais. Studentas gali turėti tokias savybes kaip studento pažymėjimas, vardas ir metodai, tokie kaip skaitymas, rašymas, studijavimas. Metodai apibūdina elgesį, o savybės yra atributai. Sukūrus klasę, jas naudojant galima kurti objektus. Objekto kūrimas taip pat žinomas kaip objekto instancija. Objektas neegzistuoja atskirai. Jie bendrauja su kitais objektais, o duomenys perduodami objektuose. Vienas iš OOP ramsčių yra paveldėjimas. Paveldėjimo tikslas yra padidinti kodo pakartotinį naudojimą. Tai sukuria naują jau esamos klasės savybių ir metodų klasę. Esama klasė yra žinoma kaip bazinė klasė, o nauja klasė vadinama išvestine klase. Daugiapakopis paveldėjimas ir kelių lygių paveldėjimas yra paveldėjimo tipai. Šiame straipsnyje aptariamas skirtumas tarp jų. Pagrindinis skirtumas tarp kelių ir kelių lygių paveldėjimo yra tas, kad daugiapakopis paveldėjimas yra tada, kai klasė paveldi iš daugelio bazinių klasių, o daugiapakopis paveldėjimas yra tada, kai klasė paveldi iš išvestinės klasės, todėl išvestinė klasė tampa bazine naujos klasės klase.
Kas yra daugkartinis paveldėjimas?
Kelių kartų paveldėjimas yra tada, kai klasė paveldi daugiau nei vieną bazinę klasę.
01 pav.: Daugybinis paveldėjimas
A B ir C yra klasės. A ir B yra pagrindinės klasės, o C yra išvestinė klasė. C klasė turi valdyti abiejų bazinių klasių A ir B priklausomybę. Daugybinis paveldėjimas nėra plačiai naudojamas programinės įrangos projektuose. Dėl to sistema tampa sudėtingesnė, nes viena klasė paveldi daug klasių.
Pavyzdžiui, tarkime, kad ir A, ir B klasė turi metodą tuo pačiu pavadinimu, kuris yra suma(), o C klasė išveda abi klases. Sukūrus C tipo objektą ir iškvietus sum () metodą, tai gali sukelti klaidą, nes abi klasės turi tą patį metodą. Kompiliatorius nežino, kurią funkciją iškviesti. Todėl daugkartinis paveldėjimas padidina sistemos sudėtingumą. Kelias paveldėjimas palaikomas C++ kalba, tačiau tokios kalbos kaip Java, C nepalaiko kelių paveldėjimo. Vietoj to, šiose kalbose naudojama sąsaja, kuri yra panaši į klasę, bet kurios negalima sukurti.
Kas yra daugiapakopis paveldėjimas?
Kelių lygių paveldėjimas yra tada, kai klasė paveldi iš išvestinės klasės, todėl ši išvestinė klasė yra pagrindinė naujos klasės klasė.
02 pav.: kelių lygių paveldėjimas
Kelių lygių paveldėjimas turi tris lygius. Tarpinė klasė, kurią B paveldi iš A klasės, o C klasė paveldi iš B klasės. A yra pagrindinė B klasė, o B yra pagrindinė klasė C.
Programa, įgyvendinanti kelių lygių paveldėjimą, yra tokia. Programa parašyta naudojant Java.
03 pav. Programa, kuri įgyvendina daugiapakopį paveldėjimą
Pagal pirmiau pateiktą programą, A klasė yra pagrindinė B klasės klasė. B klasė yra pagrindinė klasė C. Visas A klasės savybes ir metodus gali pasiekti B klasė. Visos klasės savybės ir metodai B yra prieinama C klasei. Todėl C klasė gali pasiekti tiek A, tiek B savybes ir metodus. Kuriant C tipo objektą galima iškviesti visus tris metodus A (), B () ir C (). Išvestis duos A, B, C.
Koks yra kelių ir kelių lygių paveldėjimo panašumas?
Abu yra paveldėjimo tipai
Kuo skiriasi daugiapakopis ir daugiapakopis paveldėjimas?
Kelių kartų paveldėjimas prieš kelių lygių paveldėjimą |
|
Multiple Heritance yra paveldėjimo tipas, kai klasė paveldi iš daugiau nei vienos bazinės klasės. | Kelių lygių paveldėjimas yra paveldėjimo tipas, kuris paveldimas iš išvestinės klasės, todėl ši išvestinė klasė yra pagrindinė naujos klasės klasė. |
Naudojimas | |
Kelias paveldėjimas nėra plačiai naudojamas, nes dėl to sistema tampa sudėtingesnė. | Plačiai naudojamas kelių lygių paveldėjimas. |
Klasių lygiai | |
Kelias paveldėjimas turi du klasės lygius, būtent bazinę klasę ir išvestinę klasę. | Kelių lygių paveldėjimas turi tris klasių lygius, būtent bazinę klasę, tarpinę klasę ir išvestinę klasę. |
Santrauka – kelių ir kelių lygių paveldėjimas
Paveldėjimas yra pagrindinis objektinio programavimo ramstis. Yra įvairių tipų paveldėjimo; jie yra vieno lygio paveldėjimas, kelių lygių paveldėjimas, daugiapaveldis, hierarchinis paveldėjimas ir hibridinis paveldėjimas. Vieno lygio paveldėjimas turi vieną bazinę klasę ir vieną išvestinę klasę. Hierarchinis paveldėjimas turi vieną bazinę klasę ir daug išvestinių klasių. Hibridinis paveldėjimas yra kelių lygių ir kelių paveldėjimo derinys. Šiame straipsnyje aprašytas skirtumas tarp kelių ir kelių lygių paveldėjimo. Skirtumas tarp kelių ir kelių lygių paveldėjimo yra tas, kad daugybinis paveldėjimas yra tada, kai klasė paveldi iš daugelio bazinių klasių, o daugiapakopis paveldėjimas yra tada, kai klasė paveldi iš išvestinės klasės, todėl ši išvestinė klasė yra pagrindinė naujos klasės klasė. Daugiapakopis paveldėjimas yra plačiai naudojamas nei daugiapakopis paveldėjimas.
Atsisiųskite PDF kelių ir kelių lygių paveldėjimą
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia. Skirtumas tarp kelių ir kelių lygių paveldėjimo