Fő különbség - Korai és késői kötés
A korai kötés és a késői kötés a polimorfizmushoz kapcsolódó két fogalom. A korai kötés fordítási időben, míg a késői kötés futás közben történik. A legfontosabb különbség a korai és a késői kötés között az, hogy a korai kötés az osztályinformációkat használja a módszerhívás megoldására, míg a késői kötés az objektumot használja a módszerhívás feloldására.
A programozási nyelvek, például a Java, támogatják az objektumorientált programozást (OOP). Ez egy olyan paradigma, amely lehetővé teszi a program vagy a szoftver objektumok felhasználásával történő elkészítését. A szoftverben több objektum található. Ezek az objektumok összekapcsolódnak egymással, és módszerekkel továbbítják az üzeneteket. Minden tárgynak vannak jellemzői és viselkedése. A jellemzőket a tulajdonságok vagy az attribútumok írják le. A viselkedést módszerekkel írják le. Az objektumnak lehetnek jellemzői, például neve, kora, és tulajdonságokkal vannak ábrázolva. Az objektum, amelynek a hallgató viselkedhet, például tanulhat és olvashat, és módszerekkel vannak ábrázolva. Az OOP egyik fő pillére a polimorfizmus. Lehetővé teszi egy objektum többféle viselkedését. A korai kötés és a késői kötés a polimorfizmus két fogalma. A túlterhelési módszereket korai kötéssel kötik össze. Az felülbírált módszereket késői kötéssel kötik össze.
TARTALOM
1. Áttekintés és legfontosabb különbség
2. Mi a korai kötés
3. Mi a késői kötés
4. A korai és a késői kötés hasonlóságai
5. Egymás melletti összehasonlítás - Korai és késői kötés táblázatos formában
6. Összefoglalás
Mi a korai kötés?
A korai kötésnél az osztályinformációkat használják a módszerhívás feloldására. A korai kötés fordítási időben történik. Statikus kötésként is ismert. Ebben a folyamatban a kötés még a program tényleges futtatása előtt történik. A túlterhelési módszereket korai kötéssel kötik össze. Olvassa el az alábbi programot.
01. ábra: Számítási osztály
02. ábra: A korai kötés fő programja
A fenti program szerint a Számítási osztály tartalmaz egy add metódust, amely két egész értéket fogad el, és egy másik add metódust, amely két dupla értéket fogad el. A fő programban létrejön egy Számítás típusú objektum. Ha két egész számot ad át az add metódusnak, akkor az add metódust hívja meg, amely két egész számot fogad el. Amikor két dupla értéket ad át az add metódusnak, a két dupla értéknek megfelelő metódust hívja meg. Ez a kötési folyamat fordítási időben történik. Az összes szükséges információ futás előtt ismert, így növeli a program hatékonyságát és a végrehajtás sebességét.
Mi a késői kötés?
A Késői kötésnél az objektum a módszerhívás feloldására szolgál. Késői kötés futás közben történik. Dinamikus kötésként is ismert. Ebben a folyamatban a kötés a program végrehajtásakor történik. Az felülbírált módszereket késői kötéssel kötik össze. Olvassa el az alábbi programot.
03. ábra: Alakosztály
04. ábra: Körosztály
05. ábra: Háromszög osztály
06. ábra: A késői kötés fő programja
A fenti program szerint a Shape osztály rendelkezik húzási módszerrel. A Class Circle és a Class Triangle osztály kiterjeszti a Shape osztályt. Ezért ez a két osztály örökölheti a Shape osztály attribútumait és módszereit. A Shape Class az alaposztály. A kör és a háromszög osztályok származtatott osztályok. A Circle osztálynak és a Háromszögnek is megvan a húzási módszere saját megvalósításokkal. Tehát a Shape osztályban a rajzolási módszert felülírják a származtatott osztályok húzási módszerei.
A fő programban létrejön egy Shape típusú referencia változó. Fordításkor a fordító csak az alaposztály rajzolási módszerére hivatkozik. Futás közben különböző rajzolási módszerek fognak végrehajtani. Először s a Shape típusú objektumra mutat. Tehát a Shape osztály sorsolási módszerére hivatkozunk. Ekkor az s a Kör típusú objektumra mutat, és meghívja a Kör osztály rajzolási metódusát. Végül s rámutat a Háromszög típusú objektumra, és a Háromszög osztályban felhívja a rajzolási módszert. A módszereket az objektumoktól függően hívjuk meg. Ezért az objektum a késői kötés metódushívásának feloldására szolgál. A kötéshez szükséges információkat futási időben adják meg, így a végrehajtás sebessége a korai kötéshez képest lassabb.
Mi a hasonlóság a korai kötés és a késői kötés között?
A korai kötés és a késői kötés egyaránt kapcsolódik a polimorfizmushoz, amely az OOP egyik oszlopa
Mi a különbség a korai kötés és a késői kötés között?
Különböző cikk a táblázat előtt
Korai kötés vs késői kötés |
|
Az osztályinformációk felhasználásának folyamatát a fordításkor előforduló metódus-hívások feloldására korai kötésnek nevezzük. | Az objektum futtatásakor bekövetkező metódus-hívás feloldására történő felhasználását késői kötésnek nevezzük. |
Kötés ideje | |
A korai kötés fordítási időben történik. | A késői kötés futási időben történik. |
Funkcionalitás | |
A korai kötés az osztályinformációkat használja a módszerhívás megoldására. | A késői kötés az objektumot használja a módszerhívás feloldására. |
Szinonimák | |
A korai kötés statikus kötésként is ismert. | A késői kötést dinamikus kötésnek is nevezik. |
Esemény | |
A túlterhelési módszereket korai kötéssel kötik össze. | Az felülbírált módszereket késői kötéssel kötik össze. |
Végrehajtási sebesség | |
A végrehajtás gyorsabb a korai kötésnél. | Késői kötés esetén a végrehajtási sebesség alacsonyabb. |
Összegzés - Korai és késői kötés
Az OOP-t általában szoftverfejlesztéshez használják. Az OOP egyik fő pillére a polimorfizmus. A korai kötés és a késői kötés ehhez kapcsolódnak. A korai kötés fordítási időben, míg a késői kötés futás közben történik. A módszer túlterhelésében a kötés a korai kötéssel történik. A módszer felülbírálásakor a kötés a késői kötéssel történik. A korai és a késői kötés közötti különbség az, hogy a korai kötés az osztályinformációkat használja a módszerhívás feloldására, míg a késői kötés az objektumot használja a módszerhívás feloldására.