Johdanto Java-polymorfismiin
Polymorfismi määritellään käsitteeksi, joka yhden toimenpiteen avulla voidaan suorittaa monin tavoin. Sana oli peräisin kahdesta kreikkalaisesta sanasta, jotka ovat sekä poly- että morfi-sanoja. Kuten ehkä tiedät, "poly" tarkoittaa monia, samoin kuin "morfit", tarkoittaa monia muotoja. Siksi sana polymorfismi merkitsisi monia muotoja. Ymmärtäkäämme nyt yksityiskohtaisesti javan polymorfismi.
Kuinka polymorfismi toimii Java-ohjelmassa?
Polymorfismi on OOO-ohjelmointiominaisuus. Aina kun me käytämme sitä, luokalla on kyky osoittaa monia toimintoja, vaikka niillä olisi yhteinen käyttöliittymä. Siksi voidaan olettaa, että pitkä sana kertoo todella yksinkertaisen käsitteen.
Polymorfismista on syytä huomata, että lukuisissa luokissa olevan koko työskentelykoodin ei oikeastaan tarvitse ymmärtää luokkaa, jota se käyttää samalla tavalla käyttö on sama.
Oletetaan reaalimaailman esimerkki polymorfismista. Oletetaan, että painike on. Kaikki tiedät, että jos painostamme vähän painetta, voit painaa painiketta, mutta emme tiedä painikkeen painostamisen vaikutusta ja käytön tarkoitusta. Joten huomauta, että tässä huolehtimisessa on, että kummallakaan tavalla, tulos ei vaikuta käytetyssä menettelyssä.
Joten polymorfismin perimmäinen tavoite on tehdä esineitä, jotka ovat vaihdettavissa tarpeiden mukaan.
Polymorfismin tyypit Java-järjestelmässä
Polymorfismin kaksi tyyppiä ovat käännösajan polymorfismi ja juoksuajan polymorfismi. Yhdistelmäajan polymorfismi suoritetaan menetelmän ylikuormituksella ja suorituksenaikainen polymorfismi menetelmän ohittamisella.
Ajonaikainen polymorfismi, jota kutsutaan myös dynaamiseksi menetelmälähetykseksi, on prosessi, jossa kutsu ylitettyyn menetelmään ratkaistaan ajon aikana huolimatta käännösajasta. Tässä ohitettua menetelmää kutsutaan pääluokan vertailumuuttujan kautta. Tietojen jäsenet eivät myöskään pysty saavuttamaan ajonaikaista polymorfismia.
Polymorfismin merkitys Javassa
Jos hylkäämme dynaamisen polymorfismin sekä staattisen polymorfismin, ohjelmoinnissa on joitain Java-ohjelmointiominaisuuksista, joilla on polymorfismi, joka on muu kuin nämä kaksi tärkeää tyyppiä.
Ne ovat näitä - pakko, operaattorin ylikuormitus ja polymorfiset parametrit.
pakko
Yritetään saada painostuksen merkitys tämän esimerkin avulla. Oletetaan, että merkkijonon arvo on yhteisarvo: Oletetaan toinen numero, jolla on arvo 2. Nyt mitä tapahtuu, kun teet tämän merkkijonoarvon tämän numeron kanssa? Tulos, jonka saamme pois tästä liittämisestä, olisi ”yhteisarvo: 2”. Tätä kutsutaan pakkoksi. Tämä on implisiittisen tyyppinen muuntaminen, joka suoritetaan virheiden estämiseksi.
Operaattorin ylikuormitus
Kun aloitamme operaattorin ylikuormituksen käsitteellä, sallikaa minun vilkaista yhtä skenaariota. Oletetaan, että on merkkijono, jolla on arvo “Käytä” ja 2., jolla on arvo “Ylikuormitus”. Käytämme sitten plusmerkkiä (+) samalla tavalla kuin 2 numeron lisäystä. Tämä (+) olisi yhdistävä. Jos tarkastellaan kahta kokonaislukua, näiden kahden numeron lisääminen palautetaan. Aina kun yhdellä symbolilla tai operaattorilla on kyky muuttaa tulkintaa käytetyn menettelyn perusteella, tehty polymorfismityyppi tunnetaan operaattorin ylikuormituksena.
Polymorfiset parametrit
Se tarkoittaa pääsyn sallimista mille tahansa näistä alla olevista tavoista, jotka on annettu alla -
- Kumpaankin vanhemmaluokkaan kuuluvan vertailumuuttujan käyttö.
- Luokkaan kuuluvan vertailumuuttujan käyttö, jos sellaista on.
Polymorfismin soveltamisala
Sidomisella tarkoitetaan menetelmäkutsujen yhdistämistä menetelmäkappaleeseen. Sidonta on olemassa kahta tyyppiä:
- Ensimmäinen on staattinen sidonta, joka tarkoittaa aina, kun objektityyppi on määritetty kokoamisaikana.
- Toinen on dynaaminen sidonta, joka tarkoittaa aina, kun objektityyppi on määritetty ajon aikana.
Ainoa syy siihen, miksi polymorfismia vaaditaan, on se, että sen käsitettä tarvitaan valtavasti perinnön toteuttamisessa. Lisäksi sillä on erittäin tärkeä rooli, jonka avulla esineet voivat periä lukuisia rakenteita rajapinnan jakamisessa. Polymorfismi on mainittu selvästi ainoana, joka kartoitetaan monille.
Esimerkkejä Java-polymorfismista
Alla on erilaisia esimerkkejä Java-polymorfismista:
Esimerkki # 1 - Java-ohjelma esittelemään menetelmän ylikuormitusta
Koodi:
class methodOverload (
static int multi(int x, int y)
(
return x * y;
)
// Method with the same name but with 2 double arguments
static double multi(double x, double y)
(
return x * y;
)
)
class Main (
public static void main(String() args)
(
System.out.println(methodOverload.multi(6, 2));
System.out.println(methodOverload.multi(1.2, 1.2));
)
)
lähtö:
Esimerkki 2 - Java-ohjelma operaattorin ylikuormituksen näyttämiseksi
Koodi:
class operator (
void oper(String s, String s2)
(
String s = s + s2;
System.out.println("Concatenated String is"
+ s);
)
void oper(int a, int b)
(
int c = a + b;
System.out.println("Sum is : " + c);
)
)
class Main (
public static void main(String() args)
(
operator o = new operator();
o.oper(1, 2);
o.oper("hi", "bye");
)
)
lähtö:
Esimerkki 3 - Java-ohjelma menetelmän ylikuormitusta varten
Koodi:
class Multi (
// Method with 2 parameter
static int Multi(int a, int b)
(
return a * b;
)
static int Multi(int a, int b, int c)
(
return a * b * c;
)
)
class Main (
public static void main(String() args)
(
System.out.println(Multi.Multi(2, 3));
System.out.println(Multi.Multi(2, 3, 3));
)
)
lähtö:
johtopäätös
Ainoa syy siihen, miksi polymorfiaa vaaditaan, on se, että sen käsitettä tarvitaan valtavasti perinnön toteuttamisessa. Lisäksi sillä on erittäin tärkeä rooli, jonka avulla esineet voivat periä lukuisia rakenteita rajapinnan jakamisessa. Polymorfismi on mainittu selvästi ainoana, joka kartoitetaan monille.
Suositellut artikkelit
Tämä on opas Java-polymorfismiin. Tässä keskustellaan Java-polymorfismin tyypeistä ja tärkeydestä sekä erilaisista esimerkeistä ja koodin toteutuksesta. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -
- Polymorfismi C #: ssä
- JTextField Java
- Ylikuormitus ja ohittaminen C ++: ssa
- Mikä on Java-perintö?
- Ylikuormitus Java-sovelluksessa
- Pythonin ylikuormitus
- Täydellinen opas perinnöstä Pythonissa
- JavaScriptin tyypit ja käsittelyvirheet
- Staattisen ja dynaamisen sidonnan edut