Különbség a Java túlterhelése és felülírása között

Tartalomjegyzék:

Különbség a Java túlterhelése és felülírása között
Különbség a Java túlterhelése és felülírása között

Videó: Különbség a Java túlterhelése és felülírása között

Videó: Különbség a Java túlterhelése és felülírása között
Videó: Java OVERLOADING vs OVERRIDING. Object Oriented Java tutorial. #16 2024, November
Anonim

Kulcskülönbség – Java túlterhelés és felülbírálás

Az objektum-orientált programozás (OOP) a szoftverfejlesztés egyik fő paradigmája. Ez egy módszertan egy program tervezésére osztályok és objektumok használatával. Az osztály egy tervrajz. Leírja, hogy mit kell tartalmaznia az objektumnak. Meghatározza azokat a tulajdonságokat vagy attribútumokat, valamint azokat a metódusokat, amelyekből az objektumnak állnia kell. Ezért egy objektum egy osztály példánya. Ezek az objektumok kommunikálnak más objektumokkal. Az OOP egyik fő fogalma a polimorfizmus. Ez egy tárgy azon képessége, hogy többféleképpen viselkedjen. A polimorfizmust két részre osztják, amelyek a túlterhelés és a felülbírálat. Ez a cikk a kettő közötti különbséget tárgyalja a Java-ban. A Java túlterhelés és felülírás közötti fő különbség az, hogy a túlterhelés több, azonos nevű metódus létrehozásának képessége különböző implementációkkal, a felülbírálás pedig egy olyan alosztály metódus megvalósítását jelenti, amely már létezik a szuperosztályban.

Mi az a túlterhelés a Java-ban?

A túlterhelés több, azonos nevű metódus létrehozásának lehetősége, különböző megvalósításokkal. Lásd az alábbi Java kódot.

Különbség a Java túlterhelése és felülírása között
Különbség a Java túlterhelése és felülírása között
Különbség a Java túlterhelése és felülírása között
Különbség a Java túlterhelése és felülírása között

01. ábra: Java program, amely különböző számú argumentummal magyarázza a túlterhelést

A fenti program szerint az A osztály két azonos nevű metódust tartalmaz. Az első összegező módszernek két paramétere van. A második összegezési módszernek három paramétere van. Egy A típusú objektum létrehozásakor és a sum(2, 3) meghívásakor a sum metódust fogja meghívni két paraméterrel, amelyek a sum(int a, int b) és 5-öt ad vissza. A típusú objektum létrehozásakor és a sum(2) meghívásakor, 3, 4), meghívja a másik összeg metódust három paraméterrel, ami a sum(int a, int b, int c) és 9.

A metódus neve ugyanaz, de a paraméterek száma eltérő. Megfigyelhető, hogy ugyanaz az objektum eltérően viselkedik. Ezt a koncepciót túlterhelésnek nevezik. Statikus kötésnek vagy fordítási időpolimorfizmusnak is nevezik.

Túlterhelés is előfordulhat különböző típusú adatokkal. Lásd az alábbi Java kódot.

A Java túlterhelése és felülbírálása közötti különbség_2. ábra
A Java túlterhelése és felülbírálása közötti különbség_2. ábra
A Java túlterhelése és felülbírálása közötti különbség_2. ábra
A Java túlterhelése és felülbírálása közötti különbség_2. ábra

02. ábra: Java program, amely különböző számú argumentummal magyarázza a túlterhelést

A fenti program szerint az A osztály két azonos nevű metódusból áll. A sum(int a, int b) metódus két egész értéket kap. Az összeg(double a double b) két dupla értéket kap. Az A típusú objektum létrehozásakor és a sum(2, 3) meghívásakor a sum(int a, int b) függvényt hívja, és az 5 értéket adja vissza. A sum(3.4, 5.6) meghívásakor a sum(double a double) függvényt hívja. b) és adja vissza a 9,0 értéket. Ebben a példában a metódusoknak ugyanaz a neve, de más típusú változók. Ez is túlterhelt.

Mi a felülbírálás a Java-ban?

A Java-ban lehetőség van alosztályok létrehozására már meglévő osztályokkal. Az új osztály elejétől való létrehozása helyett lehetőség van a már meglévő osztály tulajdonságainak és metódusainak használatára. A meglévő osztály a szuperosztály, a származtatott osztály pedig az alosztály. Ha az alosztály implementációt biztosít egy metódushoz, amely már benne van a szuperosztályban, azt felülírásnak nevezzük. Tekintse meg az alábbi Java programot.

Főbb különbség a Java túlterhelése és felülbírálása között
Főbb különbség a Java túlterhelése és felülbírálása között
Főbb különbség a Java túlterhelése és felülbírálása között
Főbb különbség a Java túlterhelése és felülbírálása között

03. ábra: Java program a felülbíráláshoz

A fenti program szerint az A osztálynak metódusmegjelenítése(). A B osztály az A osztályból indul ki, így az A osztály tulajdonságai és metódusai elérhetők a B osztály számára. A B osztálynak a display() metódusa van egy adott megvalósítással. Az A típusú objektum létrehozásakor és a megjelenítési metódus meghívásakor a B kimenetet adja. Bár az A osztálynak van megjelenítési metódusa, a B osztályú megjelenítési metódus felülbírálja. Az alosztály olyan metódust valósít meg, amely már létezik a szuperosztályban.

Ez a fogalom a polimorfizmus egy fajtája, amelyet felülbírálásnak neveznek. Késői kötésnek, dinamikus kötésnek, futásidejű polimorfizmusnak is nevezik.

Mi a hasonlóság a Java túlterhelése és felülírása között?

  • Mindkettő a polimorfizmus típusa.
  • Túlterhelésnél és felülírásnál a metódusoknak ugyanaz a neve.

Mi a különbség a Java túlterhelése és felülírása között?

Túlterhelés vs felülírás Java-ban

A Java túlterhelése több, azonos nevű metódus létrehozásának képessége különböző megvalósításokkal. A Java felülírása egy speciális megvalósítást biztosít az alosztály metódusában a szuperosztályban már létező metódusokhoz.
Paraméterek
Túlterhelés esetén a metódusoknak ugyanaz a neve, de más paraméterek száma vagy más típusú paraméterek. Felülbíráláskor a metódusoknak ugyanaz a neve, és a paramétereknek is azonosaknak kell lenniük.
Témák
Túlterhelés történik az osztályon belül. A felülírás az öröklődési kapcsolatban álló két osztályon belül történik.
Szinonimák
A túlterhelést lefordított idő polimorfizmusnak nevezzük. A felülbírálást futásidejű polimorfizmusnak nevezik.

Összefoglaló – Túlterhelés vs felülírás Java-ban

A polimorfizmus az objektum-orientált programozás egyik fő fogalma. Lehetővé teszi, hogy egy objektum többféleképpen viselkedjen. Ez lehet túlterhelés vagy felülírás. A túlterhelés a fordítási idejű polimorfizmus, a felülbírálás pedig a futásidejű polimorfizmus. Hasznosak a szoftveralkalmazások fejlesztésében. A felülbírálás és a túlterhelés közötti különbség az, hogy a túlterhelés több, azonos nevű metódus létrehozásának képessége különböző implementációkkal, a felülbírálás pedig egy adott megvalósítást biztosít az alosztály metódusában a szuperosztályban már létező metódusokhoz. Javaban túlterhelés és felülírás is megvalósítható.

Töltse le a PDF Overloading vs Overriding Java-ban című dokumentumot

Letöltheti ennek a cikknek a PDF-verzióját, és offline célokra használhatja az idézet jegyzetének megfelelően. Kérjük, töltse le a PDF verziót innen: Különbség a túlterhelés és a felülírás között Java-ban

Ajánlott: