Pagrindinis skirtumas – „Java“perkrovimas ir nepaisymas
Objektinis programavimas (OOP) yra pagrindinė programinės įrangos kūrimo paradigma. Tai metodika, skirta kurti programą naudojant klases ir objektus. Klasė yra planas. Jame aprašoma, kas turi būti objekte. Jis apibrėžia ypatybes arba atributus ir metodus, kuriuos turi sudaryti objektas. Todėl objektas yra klasės pavyzdys. Šie objektai bendrauja su kitais objektais. Viena iš pagrindinių OOP sąvokų yra polimorfizmas. Tai yra objekto gebėjimas elgtis įvairiais būdais. Polimorfizmas skirstomas į dvi dalis, kurios yra perkraunamos ir nepakeičiamos. Šiame straipsnyje aptariamas skirtumas tarp šių dviejų „Java“. Pagrindinis skirtumas tarp perkrovimo ir nepaisymo Java programoje yra tas, kad perkrovimas yra galimybė sukurti kelis to paties pavadinimo metodus su skirtingais įgyvendinimais, o nepaisymas – tai poklasio metodo, kuris jau egzistuoja superklasėje, įgyvendinimas.
Kas yra Java perkrovimas?
Perkrovimas – tai galimybė sukurti kelis to paties pavadinimo metodus su skirtingais įgyvendinimais. Žr. toliau pateiktą „Java“kodą.
01 pav.: Java programa, kuri paaiškina perkrovimą skirtingu argumentų skaičiumi
Pagal aukščiau pateiktą programą, A klasėje yra du to paties pavadinimo metodai. Pirmasis sumos metodas turi du parametrus. Antrasis sumos metodas turi tris parametrus. Kuriant A tipo objektą ir iškviečiant sum(2, 3), jis iškvies sum metodą su dviem parametrais, kurie yra sum(int a, int b) ir grąžina 5. Kuriant A tipo objektą ir iškviečiant sum(2, 3, 4), jis iškvies kitą sumos metodą su trimis parametrais, kurie yra suma (int a, int b, int c) ir grąžins 9.
Metodo pavadinimas yra tas pats, bet skiriasi parametrų skaičius. Galima pastebėti, kad tas pats objektas elgiasi skirtingai. Ši sąvoka žinoma kaip perkrova. Jis taip pat vadinamas statiniu įrišimu arba kompiliuoja laiko polimorfizmu.
Taip pat gali būti perkrauta įvairių tipų duomenų. Žr. toliau pateiktą „Java“kodą.
02 pav.: Java programa, kuri paaiškina perkrovimą skirtingu argumentų skaičiumi
Pagal pirmiau pateiktą programą, A klasė susideda iš dviejų metodų tuo pačiu pavadinimu. Sum(int a, int b) metodas gauna dvi sveikųjų skaičių reikšmes. Suma (double a double b) gauna dvi dvigubas reikšmes. Kurdamas A tipo objektą ir iškviesdamas sum(2, 3), jis iškvies sum(int a, int b) ir grąžins reikšmę 5. Iškviesdamas sum(3.4, 5.6), iškvies sum(double a double b) ir grąžinkite reikšmę 9,0. Šiame pavyzdyje metodai turi tą patį pavadinimą, bet kitokio tipo kintamieji. Tai taip pat perkraunama.
Kas yra nepaisoma Java?
Java programoje galima kurti poklasius su jau esamomis klasėmis. Užuot sukūrę naują klasę nuo pat pradžių, galima naudoti jau esamos klasės savybes ir metodus. Esama klasė yra superklasė, o išvestinė klasė yra poklasis. Kai poklasis pateikia metodo, kuris jau yra superklasėje, įgyvendinimą, jis vadinamas nepaisymu. Žr. toliau pateiktą Java programą.
03 pav.: Java programa, skirta nepaisyti
Pagal aukščiau pateiktą programą, A klasė turi metodą Display(). B klasė tęsiasi nuo A klasės, todėl A klasės savybes ir metodus gali pasiekti B klasė. B klasė turi metodą display() su konkrečiu įgyvendinimu. Kuriant A tipo objektą ir iškviečiant rodymo metodą, jis duos išvestį B. Nors A klasė turi rodymo metodą, ji yra nepaisoma kaip B klasės rodymo metodas. Poklasis įgyvendina metodą, kuris jau yra superklasėje.
Ši sąvoka yra polimorfizmo tipas ir žinomas kaip svarbiausias. Jis taip pat vadinamas vėlyvu įrišimu, dinaminiu surišimu, vykdymo laiko polimorfizmu.
Kokie yra „Java“perkrovimo ir nepaisymo panašumai?
- Abu yra polimorfizmo tipai.
- Perkraunant ir nepaisant, metodai turi tą patį pavadinimą.
Kuo skiriasi „Java“perkrovimas ir nepaisymas?
Perkrovimas ir nepaisymas naudojant Java |
|
Perkrovimas Java yra galimybė sukurti kelis to paties pavadinimo metodus su skirtingais įgyvendinimais. | Java nepaisymas suteikia specifinį poklasio metodo įgyvendinimą metodui, kuris jau yra superklasėje. |
Parametrai | |
Perkraunant, metodai turi tą patį pavadinimą, bet skirtingą parametrų skaičių arba kitokio tipo parametrus. | Jei nepaisoma, metodai turi tą patį pavadinimą, o parametrai turi būti vienodi. |
Temos | |
Klasėje atsiranda perkrova. | Nepaisoma dviejų klasių, kurios turi paveldėjimo ryšį. |
Sinonimai | |
Perkrovimas vadinamas kompiliuoto laiko polimorfizmu. | Nepaisymas vadinamas vykdymo laiko polimorfizmu. |
Santrauka – „Java“perkrovimas ir nepaisymas
Polimorfizmas yra pagrindinė objektinio programavimo sąvoka. Tai suteikia galimybę objektui elgtis įvairiais būdais. Tai gali būti perkrova arba nepaisoma. Perkrovimas yra kompiliavimo laiko polimorfizmas, o nepaisymas yra vykdymo laiko polimorfizmas. Jie yra naudingi kuriant programinę įrangą. Skirtumas tarp nepaisymo ir perkrovimo yra tas, kad perkrovimas yra galimybė sukurti kelis to paties pavadinimo metodus su skirtingais įgyvendinimais, o nepaisymas yra specifinio poklasio metodo įgyvendinimas, skirtas metodui, kuris jau yra superklasėje. „Java“galima įdiegti ir perkrovimą, ir nepaisymą.
Atsisiųskite PDF „Perkrovimas ir nepaisymas Java“
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia Skirtumas tarp perkrovimo ir nepaisymo Java