Pagrindinis skirtumas - polimorfizmas ir paveldėjimas OOP
Kuriant programinę įrangą dažniausiai naudojamas objektinis programavimas (OOP). Daugelis programavimo kalbų palaiko objektinį programavimą. Objektinis programavimas yra metodika, skirta projektuoti programą, naudojant klases ir objektus. OOP klasė yra objekto sukūrimo planas. Klasė turi savybių ir metodų. Objektas yra klasės egzempliorius. OOP yra keturi ramsčiai, tokie kaip paveldėjimas, polimorfizmas, abstrakcija ir inkapsuliacija. Šiame straipsnyje aptariamas skirtumas tarp polimorfizmo ir paveldėjimo OOP. Pagrindinis skirtumas tarp polimorfizmo ir paveldėjimo OOP yra tas, kad polimorfizmas yra objekto sugebėjimas elgtis keliais būdais, o paveldėjimas - sukurti naują klasę, naudojant esamos klasės savybes ir metodus.
TURINYS
1. Apžvalga ir pagrindiniai skirtumai
2. Kas yra polimorfizmas OOP
3. Kas yra paveldimumas OOP
4. Polimorfizmo ir paveldėjimo OOP panašumai
5. Šoninis palyginimas - polimorfizmas ir paveldimumas OOP lentelių pavidalu
6. Santrauka
Kas yra polimorfizmas OOP?
Polimorfizmas turi nurodyti kelias formas. Vienas objektas gali elgtis įvairiai. Polimorfizmą galima suskirstyti į dvi kategorijas. Jie perkrauna ir nepaiso.
Perkrovimas
Žr. Žemiau pateiktą programą, parašytą „Java“.
01 pav. Perkrovimas
Pagal pirmiau minėtą programą sukuriamas A tipo objektas. Skambinant obj.sum (); tai duos išvestį, susijusią su metodo suma (). Skambindami obj.sum (2,3); tai duos išvestį, susijusią su suma (int a, int b). Galima pastebėti, kad tas pats objektas turi skirtingą elgesį, priklausomai nuo situacijos. Kai yra keli metodai su tuo pačiu pavadinimu, bet su skirtingais parametrais, tai vadinama perkrova. Jis taip pat žinomas kaip statinis susiejimas arba kompiliavimo laiko polimorfizmas.
Nepaisoma
Kita svarbi polimorfizmo rūšis. Žr. Žemiau pateiktą programą, parašytą „Java“.
02 pav. Nepaisoma
Pagal pirmiau pateiktą programą A klasėje yra metodo rodymas (). B klasė tęsiasi nuo A klasės. Todėl visi A klasės metodai yra prieinami B klasei. Tai paveldėjimas. Paveldėjimo sąvoka aprašyta toliau vėliau.
B klasėje taip pat rodomas tas pats metodas (). Kuriant A tipo objektą ir iškviečiant rodymo metodą, išvestis duos B. A klasės rodymo metodą pakeičia B klasės rodymo metodas. Taigi, išvestis yra B.
Kai yra metodai su tuo pačiu pavadinimu ir tais pačiais parametrais, bet dviejose skirtingose klasėse, ir jie yra susieti su paveldėjimu, tai vadinama svarbesniu. Jis taip pat žinomas kaip vėlyvasis susiejimas, dinaminis susiejimas, vykdymo laiko polimorfizmas. Perkrovimas ir nepaisymas vadinamas polimorfizmu. Tai yra pagrindinė į objektą orientuoto programavimo koncepcija.
Kas yra paveldėjimas OOP?
Žr. Žemiau pateiktą programą, parašytą „Java“.
03 pav. Paveldėjimo pavyzdys
Pagal pirmiau pateiktą programą A klasėje yra metodo suma (), o B klasėje - metodas sub ().
A klasės sum () metodą galima naudoti B klasėje naudojant išplėstinį raktinį žodį. Pakartotinis esamos klasės savybių ir metodų panaudojimas kuriant naują klasę yra žinomas kaip paveldėjimas. Net B klasėje nėra sum () metodo; paveldima iš A klasės. Paveldėjimas naudingas norint pakartotinai naudoti kodą. Vyresnioji klasė vadinama pagrindine, superklasine ar tėvų klase. Išvestinė klasė vadinama poklasiu arba vaikų klase.
Paveldėjimo rūšys
Yra įvairių paveldėjimo rūšių. Tai yra vieno lygio paveldėjimas, daugiapakopis paveldėjimas, daugybinis paveldėjimas, hierarchinis paveldėjimas ir hibridinis paveldėjimas.
Vienkartinis paveldėjimas
Vienkartiniame paveldėjime yra viena super klasė ir viena sub klasė. Jei A klasė yra super klasė, o B klasė yra subklasė, visas A klasės savybes ir metodus gali pasiekti B klasė. Yra tik vienas lygis; todėl jis vadinamas vieno lygio paveldėjimu.
Daugiapakopis paveldėjimas
Daugiapakopiame paveldėjime yra trys klasių lygiai. Tarpinė klasė paveldi iš super klasės. Pogrupis paveldi iš tarpinės klasės. Jei yra trys klasės, A, B ir C, o A yra super klasė, o B yra tarpinė klasė. Tada B paveldi iš A, o C - iš B, tai yra daugiapakopis paveldėjimas.
Daugkartinis paveldėjimas
„Multiple Paveldime“yra daug super klasių ir viena sub klasė. Jei yra trys super klasės, vadinamos A, B, C, o D yra pogrupis, tada D klasė gali paveldėti iš A, B ir C. Daugkartinis paveldėjimas palaikomas programavimo kalba C ++. Tai nepalaikoma tokiomis programavimo kalbomis kaip „Java“ar „C #“. Sąsajos naudojamos daugialypiam paveldėjimui šiomis kalbomis įgyvendinti.
Hierarchinis paveldėjimas
Jei yra klasės, vadinamos A, kaip super klasės, ir B, C, yra subklasės, šios pogrupės gali paveldėti A klasės savybes ir metodus. Toks paveldėjimo tipas yra žinomas kaip hierarchinis paveldėjimas.
Hibridinis paveldėjimas
Yra dar vienas specialus paveldėjimo tipas, žinomas kaip hibridinis paveldėjimas. Tai yra kelių lygių ir kelių paveldėjimų derinys. Jei A, B, C ir D yra klasės, o B paveldi iš A, o D - iš B ir C, tai yra hibridinis paveldėjimas.
Kokie yra polimorfizmo ir paveldėjimo panašumai OOP?
Abi yra į objektą orientuoto programavimo sąvokos
Koks skirtumas tarp polimorfizmo ir paveldėjimo OOP?
Skirtingas straipsnis viduryje prieš lentelę
Polimorfizmas ir paveldėjimas OOP |
|
Polimorfizmas yra objekto sugebėjimas elgtis įvairiai. | Paveldėjimas - tai naujos klasės sukūrimas naudojant esamos klasės savybes ir metodus. |
Naudojimas | |
Polimorfizmas naudojamas objektams iškviesti kurios formos metodus kompiliavimo metu ir vykdymo metu. | Paveldėjimas naudojamas pakartotiniam kodo naudojimui. |
Įgyvendinimas | |
Polimorfizmas įgyvendinamas metodais. | Paveldėjimas įgyvendinamas klasėse. |
Kategorijos | |
Polimorfizmą galima suskirstyti į perkrovimą ir nepaisymą. | Paveldėjimą galima suskirstyti į vieno lygio, daugiapakopį, hierarchinį, hibridinį ir daugkartinį paveldėjimą. |
Santrauka - polimorfizmas ir paveldėjimas OOP
Polimorfizmas ir paveldėjimas yra pagrindinės į objektą orientuoto programavimo sąvokos. Skirtumas tarp polimorfizmo ir paveldėjimo OOP yra tas, kad polimorfizmas yra įprasta sąsaja su daugybe formų, o paveldėjimas yra naujos klasės sukūrimas naudojant esamos klasės savybes ir metodus. Abi sąvokos plačiai naudojamos programinės įrangos kūrime.
Atsisiųskite PDF polimorfizmas ir paveldėjimas iš OOP
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia Skirtumas tarp polimorfizmo ir paveldėjimo OOP