Kulcskülönbség - Túlterhelés vs felülbírálás a Java-ban
Az objektumorientált programozás (OOP) a szoftverfejlesztés egyik fő paradigmája. Módszertan a program tervezésére osztályok és objektumok felhasználásával. Az osztály tervrajz. Leírja, hogy mit kell tartalmaznia az objektumban. Meghatározza azokat a tulajdonságokat vagy attribútumokat, valamint azokat a módszereket, amelyekből az objektumnak tartalmaznia kell. Ezért egy objektum egy osztály példánya. Ezek az objektumok más objektumokkal kommunikálnak. Az OOP egyik fő fogalma a polimorfizmus. Ez egy objektum azon képessége, hogy többféle módon viselkedjen. A polimorfizmust két szakaszba sorolják, amelyek túlterhelik és felülbírálják. Ez a cikk a Java közötti különbséget tárgyalja e kettő között. A túlterhelés és az felülbírálás közötti legfontosabb különbség a Java-ban az, hogy a túlterhelés az a képesség, hogy több azonos nevű metódust hozhat létre különböző megvalósításokkal, az Overriding pedig megvalósítás biztosítása egy alosztályos metódus számára, amely már létezik a szuperosztályban.
TARTALOM
1. Áttekintés és kulcsfontosságú különbségek
2. Mi a túlterhelés a Java-ban
3. Mi a felülbírálás a Java-ban
4. A Java-ban a túlterhelés és az felülbírálás közötti hasonlóság
5. Egymás melletti összehasonlítás - Túlterhelés vs a Java felülbírálása táblázatos formában
6. Összefoglalás
Mi a túlterhelés a Java-ban?
A túlterhelés egyazon nevű többféle módszer létrehozásának lehetősége különböző megvalósításokkal. Lásd az alábbi Java kódot.
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ő összeg módszerének két paramétere van. A második összeg módszer három paramétert tartalmaz. A típusú objektum létrehozásakor és az összeg (2,3) meghívásakor az sum metódust két paraméterrel hívja meg, amelyek sum (int a, int b) és 5-ös értéket adnak vissza. Amikor A típusú objektumot hozunk létre és hívjuk az sumot (2), 3,4), a másik összeg metódust három paraméterrel hívja meg, amely az összeg (int a, int b, int c), és 9-et ad vissza.
A metódus neve megegyezik, de a paraméterek száma eltér. Megfigyelhető, hogy ugyanaz az objektum másként viselkedik. Ezt a koncepciót túlterhelésnek nevezik. Statikus kötődésnek vagy időpolimorfizmus összeállításának is nevezik.
Különböző adattípusokkal is lehet túlterhelni. Lásd az alábbi Java kódot.
02. ábra: Java program, amely a túlterhelést különböző számú argumentummal magyarázza
A fenti program szerint az A osztály két azonos nevű módszerből áll. Az összeg (int a, int b) módszer két egész értéket kap. Az összeg (dupla dupla b) két dupla értéket kap. Az A típusú objektum létrehozásakor és az összeg (2,3) hívásakor az sum (int a, int b) hívja és az 5. értéket adja vissza. Az sum (3.4, 5.6) hívásakor az összeget (double a double b) és adja vissza a 9.0 értéket. Ebben a példában a módszereknek ugyanaz a neve, de más típusú változók. Ez is túlterhelés.
Mi a felülbírálás a Java-ban?
A Java-ban lehetőség van alosztályok felépítésére már létező osztályokkal. Az új osztály kezdettől való létrehozása helyett lehetőség van a már meglévő osztály tulajdonságainak és módszereinek használatára. A meglévő osztály a szuperosztály, a származtatott osztály pedig az alosztály. Amikor az alosztály megvalósítást nyújt egy módszer számára, amely már a szuperosztályban van, akkor ezt felülbírálásnak nevezik. Lásd az alábbi Java programot.
03. ábra: Java program felülírásra
A fenti program szerint az A osztály metódus kijelzővel rendelkezik (). A B osztály kiterjed az A osztályra, így az A osztály tulajdonságai és módszerei a B osztály számára hozzáférhetők. A B osztály rendelkezik egy módszer-megjelenítéssel (), speciális megvalósítással. A típusú objektum létrehozásakor és a megjelenítési módszer meghívásakor megkapja a B kimenetet. Annak ellenére, hogy az A osztály rendelkezik megjelenítési módszerrel, a B osztályú megjelenítési módszer felülírja. Az alosztály olyan módszert vezet be, amely már létezik a szuperosztályban.
Ez a koncepció a polimorfizmus egyik típusa, és ezt felülbírálásnak nevezik. Késői kötésnek, dinamikus kötésnek, futásidejű polimorfizmusnak is nevezik.
Milyen hasonlóságok vannak a túlterhelés és az felülbírálás között a Java-ban?
- Mindkettő a polimorfizmus típusa.
- Túlterhelés és felülbírálás esetén a módszereknek ugyanaz a neve.
Mi a különbség a túlterhelés és az felülbírálás között a Java-ban?
Különböző cikk a táblázat előtt
Túlterhelés vs felülbírálás a Java-ban |
|
A Java túlterhelése az a lehetőség, hogy több, azonos megvalósítású metódust hozzon létre 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ályban, mivel a szuperosztályban már létezik egy módszer. |
Paraméterek | |
Túlterhelésnél a módszereknek ugyanaz a neve, de más számú paraméterük vagy más típusú paraméterük van. | Elsőbbségben a metódusoknak ugyanaz a neve és a paramétereknek ugyanazoknak kell lenniük. |
Témák | |
A túlterhelés az osztályon belül történik. | Az elsőbbség az öröklési kapcsolatban álló két osztályon belül történik. |
Szinonimák | |
A túlterhelést fordított időpolimorfizmusnak nevezzük. | Az felülírást futási idő polimorfizmusnak nevezzük. |
Összegzés - Túlterhelés vs felülbírálás a Java-ban
A polimorfizmus az objektumorientált programozás egyik fő fogalma. Lehetőséget nyújt arra, hogy egy objektum többféle módon viselkedjen. Ez lehet túlterhelés vagy felülbírálá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 különbség a felülbírálás és a túlterhelés között az, hogy 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, az felülbírálás pedig specifikus megvalósítást nyújt az alosztályban, mivel a metódus már létezik a szuperosztályban. Túlterhelés és felülbírálás egyaránt megvalósítható a Java-ban.
Töltse le a Java túlterhelés vs felülbírálás PDF-fájlt
A cikk PDF-verzióját letöltheti, és offline célokra is használhatja, az idézési megjegyzés szerint. Kérjük, töltse le itt a PDF verziót. Különbség a túlterhelés és az felülbírálás között a Java-ban