Ylikuormituksen ja ohituksen ero Javassa

Sisällysluettelo:

Ylikuormituksen ja ohituksen ero Javassa
Ylikuormituksen ja ohituksen ero Javassa

Video: Ylikuormituksen ja ohituksen ero Javassa

Video: Ylikuormituksen ja ohituksen ero Javassa
Video: Norjalainen ohitus ja suomalainen kuittaus. 2024, Joulukuu
Anonim

Avainero – ylikuormitus vs ohittaminen Javassa

Object-Oriented Programming (OOP) on ohjelmistokehityksen tärkeä paradigma. Se on menetelmä ohjelman suunnitteluun luokkien ja objektien avulla. Luokka on suunnitelma. Se kuvaa, mitä objektin tulee sisältää. Se määrittelee ominaisuudet tai attribuutit ja menetelmät, joista objektin tulee koostua. Siksi objekti on luokan esiintymä. Nämä objektit kommunikoivat muiden objektien kanssa. Yksi OOP:n tärkeimmistä käsitteistä on polymorfismi. Se on esineen kykyä käyttäytyä monin tavoin. Polymorfismi on luokiteltu kahteen osaan, jotka ovat ylikuormittava ja ohittava. Tässä artikkelissa käsitellään näiden kahden eroa Javassa. avainero ylikuormituksen ja ohituksen välillä Javassa on, että Overloading on kyky luoda useita samannimistä menetelmiä erilaisilla toteutuksilla ja Overriding on tarjota toteutus superluokassa jo olemassa olevalle aliluokkamenetelmälle.

Mitä on ylikuormitus Javassa?

Ylikuormitus on kyky luoda useita samannimistä menetelmiä erilaisilla toteutuksilla. Katso alla oleva Java-koodi.

Ero ylikuormituksen ja ohituksen välillä Javassa
Ero ylikuormituksen ja ohituksen välillä Javassa
Ero ylikuormituksen ja ohituksen välillä Javassa
Ero ylikuormituksen ja ohituksen välillä Javassa

Kuva 01: Java-ohjelma, joka selittää ylikuormituksen eri argumenteilla

Yllä olevan ohjelman mukaan luokka A sisältää kaksi samannimistä menetelmää. Ensimmäisellä summamenetelmällä on kaksi parametria. Toisessa summamenetelmässä on kolme parametria. Kun luot A-tyypin objektin ja kutsut sum(2, 3), se kutsuu sum-metodia kahdella parametrilla, jotka ovat sum(int a, int b) ja palauttaa 5. Kun luot A-tyypin objektia ja kutsutaan sum(2), 3, 4), se kutsuu toista summamenetelmää kolmella parametrilla, joka on summa(int a, int b, int c) ja palauttaa 9.

Menetelin nimi on sama, mutta parametrien määrä on erilainen. Voidaan havaita, että sama kohde käyttäytyy eri tavalla. Tämä käsite tunnetaan ylikuormituksena. Sitä kutsutaan myös nimellä Static Binding tai Compiles Time Polymorphism.

Se voi myös olla ylikuormitettu eri tietotyypeillä. Katso alla oleva Java-koodi.

Ero ylikuormituksen ja ohituksen välillä Javassa_Kuva 02
Ero ylikuormituksen ja ohituksen välillä Javassa_Kuva 02
Ero ylikuormituksen ja ohituksen välillä Javassa_Kuva 02
Ero ylikuormituksen ja ohituksen välillä Javassa_Kuva 02

Kuva 02: Java-ohjelma, joka selittää ylikuormituksen eri argumenteilla

Yllä olevan ohjelman mukaan luokka A koostuu kahdesta samannimisestä menetelmästä. Sum(int a, int b) -menetelmä saa kaksi kokonaislukuarvoa. Summa(double a double b) saa kaksi kaksoisarvoa. Kun luot A-tyypin objektin ja kutsut sum(2, 3), se kutsuu sum(int a, int b) ja palauttaa arvon 5. Kutsuttaessa summa(3.4, 5.6) se kutsuu sum(double a double b) ja palauta arvo 9.0. Tässä esimerkissä menetelmillä on sama nimi, mutta erityyppiset muuttujat. Tämä on myös ylikuormittavaa.

Mikä on ohitus Javassa?

Javassa on mahdollista rakentaa alaluokkia jo olemassa olevista luokista. Uuden luokan luomisen sijaan alusta alkaen on mahdollista käyttää jo olemassa olevan luokan ominaisuuksia ja menetelmiä. Olemassa oleva luokka on yläluokka ja johdettu luokka on alaluokka. Kun alaluokka tarjoaa toteutuksen menetelmälle, joka on jo superluokassa, sitä kutsutaan ohitukseksi. Katso alla oleva Java-ohjelma.

Keskeinen ero ylikuormituksen ja ohituksen välillä Javassa
Keskeinen ero ylikuormituksen ja ohituksen välillä Javassa
Keskeinen ero ylikuormituksen ja ohituksen välillä Javassa
Keskeinen ero ylikuormituksen ja ohituksen välillä Javassa

Kuva 03: Java-ohjelma ohittamiseen

Yllä olevan ohjelman mukaan luokassa A on metodinäyttö(). Luokka B jatkuu luokasta A, joten luokan A ominaisuudet ja menetelmät ovat luokan B käytettävissä. Luokassa B on menetelmä display() tietyllä toteutuksella. Kun luodaan A-tyyppistä objektia ja kutsutaan näyttömenetelmää, se antaa tulosteen B. Vaikka luokalla A on näyttömenetelmä, se ohitetaan luokan B näyttömenetelmänä. Alaluokka toteuttaa menetelmää, joka on jo olemassa superluokassa.

Tämä käsite on eräänlainen polymorfismi, ja se tunnetaan ylivoimaisena. Sitä kutsutaan myös nimellä Late Binding, Dynamic Binding, Runtime Polymorphism.

Mitä yhtäläisyyksiä ylikuormituksen ja ohituksen välillä on Javassa?

  • Molemmat ovat polymorfismin tyyppejä.
  • Ylikuormituksessa ja ohituksessa menetelmillä on sama nimi.

Mitä eroa on ylikuormituksen ja ohituksen välillä Javassa?

Ylikuormitus vs ohittaminen Javassa

Ylikuormitus Javassa on kyky luoda useita samannimistä menetelmiä erilaisilla toteutuksilla. Javan ohitus tarjoaa erityisen toteutuksen aliluokkamenetelmässä menetelmälle, joka on jo olemassa superluokassa.
Parametrit
Ylikuormituksessa menetelmillä on sama nimi, mutta eri määrä parametreja tai erityyppisiä parametreja. Ohittaessa menetelmillä on sama nimi ja parametrien on oltava samat.
Teemat
Ylikuormitusta esiintyy luokassa. Ohitus tapahtuu kahdessa luokassa, joilla on perintösuhde.
Synonyymit
Ylikuormitusta kutsutaan käännetyn ajan polymorfismiksi. Ohittamista kutsutaan ajonaikaiseksi polymorfismiksi.

Yhteenveto – Ylikuormitus vs ohittaminen Javassa

Polymorfismi on tärkeä käsite olio-ohjelmoinnissa. Se tarjoaa esineelle mahdollisuuden käyttäytyä useilla tavoilla. Tämä voi olla joko ylikuormitusta tai ylikuormitusta. Ylikuormitus on käännösajan polymorfismia ja ohittaminen on ajonaikaista polymorfismia. Niistä on hyötyä ohjelmistosovelluskehityksessä. Ero ohituksen ja ylikuormituksen välillä on se, että Overloading on kyky luoda useita samannimistä menetelmiä erilaisilla toteutuksilla ja Overriding tarjoaa erityisen toteutuksen aliluokkamenetelmässä menetelmälle, joka on jo olemassa superluokassa. Javassa on mahdollista toteuttaa sekä ylikuormitus että ohitus.

Lataa PDF Overloading vs Overriding Javassa

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä Ero ylikuormituksen ja ohituksen välillä Javassa

Suositeltava: