A korai kötés és a késői kötés két fogalom kapcsolódik a polimorfizmushoz. A korai kötés fordítási időben fordul elő, míg a késői kötés futási időben. Az kulcs különbség a korai és a késői kötés között ez 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 megoldására.
A programozási nyelvek, például a Java támogatja az Objektum-orientá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ő felépítését. Több program található a szoftverben. Ezek az objektumok össze vannak kapcsolva és üzeneteket továbbítanak módszerekkel. Minden tárgynak van jellemzői és viselkedése. A tulajdonságokat a tulajdonságok vagy attribútumok írják le. A viselkedést módszerekkel írják le. A Student objektumnak lehet olyan tulajdonságai, mint név, életkor, és tulajdonságokat ábrázolnak. Az objektum A hallgató viselkedését tanúsíthatja, például tanulhat és olvashat, és módszerekkel ábrázolható. Az OOP egyik fő pillére a polimorfizmus. Ez lehetővé teszi egy objektum számára, hogy többféle módon viselkedjen. A korai kötés és a késői kötés két fogalom a polimorfizmusban. A túlterhelési módszereket korai kötéssel kötjük. A felülbírált módszereket késői kötéssel kötjük.
1. Áttekintés és a legfontosabb különbség
2. Mi a korai kötés?
3. Mi a késői kötés?
4. hasonlóságok a korai és a késői kötés között
5. Összehasonlítás egymással - Korai és késői kötés táblázatos formában
6. Összegzés
A korai kötés során az osztályinformációkat használják a módszerhívás megoldására. A korai kötés fordításkor történik. Statikus kötésnek is nevezik. Ebben a folyamatban a kötés megtörténik a program tényleges futtatása előtt. A túlterhelési módszereket korai kötéssel kötjük. Lásd 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 olyan összeadási módszert tartalmaz, amely két egész értéket elfogad, és egy másik összeadási módszert, amely két kettős értéket fogad el. A főprogramban létrejön egy Calculation típusú objektum. Ha két egész számot átad az add metódussal, akkor az add add metódust hív fel, amely két egész számot elfogad. Ha két kettős értéket ad át az add metódussal, akkor két kettős értéknek megfelelő módszert hív fel. Ez a kötési folyamat fordításkor történik. Az összes szükséges információ a futási idő előtt ismert, így növeli a program hatékonyságát és a végrehajtási sebességet.
A késői kötésnél az objektumot a módszerhívás megoldására használják. A késői kötés futási időben történik. Más néven dinamikus kötés. Ebben a folyamatban a kötés a program végrehajtásakor történik. A felülbírált módszereket késői kötéssel kötjük. Lásd az alábbi programot.
03. ábra: Alak osztály
04. ábra: Kör osztály
05. ábra: Háromszög osztály
06. ábra: A késői kötés főprogramja
A fenti program szerint az Class Shape rajzolási módszerrel rendelkezik. Class Circle és Class Triangle osztály kibővíti az Shape osztályt. Ezért ez a két osztály örökli a Shape osztály attribútumait és módszereit. Az alak osztály az alap osztály. A kör- és háromszög osztályok származtatott osztályok. A Kör és az osztály Háromszög szintén rendelkezik rajzolási módszerrel, saját megvalósításukkal. Tehát a Shape osztály rajzolási módszerét felülbírálják a származtatott osztályok rajzolási módszerei.
A főprogramban létrehozunk egy Shape típusú referenciaváltozót. A fordítás idején a fordító csak az alap osztály rajzolási módszerére hivatkozik. Futási időben különböző rajzolási módszerek kerülnek végrehajtásra. Először: s a Shape típusú objektumra mutat. Tehát meghívjuk a Shape osztály rajzolási módszerét. Ezután az s a Circle típusú objektumra mutat, és meghívja a Circle osztály rajzolási módszerét. Végül s mutat a Háromszög típusú objektumra, és meghívja a rajzolási módszert a Háromszög osztályban. A módszereket az objektumtól függően hívják. Ezért az objektumot használják a késleltetett összerendeléshívásos módszer feloldására. A kötéshez szükséges információkat futási időben kell megadni, így a végrehajtás sebessége lassabb, mint a korai kötéshez.
Korai kötés vs késői kötés | |
A fordítási időpontban bekövetkező metódushívás megoldására az osztályinformációk felhasználásának korai összerendelésnek nevezzük. | Az a folyamat, amikor az objektumot a futtatáskor bekövetkező módszerhívás megoldására használják, késői kötésnek nevezzük. |
A 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 megoldására. |
Szinonimák | |
A korai kötést statikus kötésnek is nevezik. | A késői kötés dinamikus kötésként is ismert. |
Esemény | |
A túlterhelési módszereket korai kötéssel kötjük. | A felülbírált módszereket késői kötéssel kötjük. |
Végrehajtási sebesség | |
A végrehajtás gyorsabb a korai kötésnél. | A végrehajtási sebesség alacsonyabb a késői kötésnél. |
Az OOP-t általában a 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 fordul elő, míg a késői kötés futási időben. A módszer túlterhelésekor a kötés a korai kötéssel történik. A felülíró módszernél 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 megoldására, míg a késői kötés az objektumot használja a módszerhívás megoldására..
1.Java interjú 04 - Statikus kötés vs dinamikus kötés, Mahika oktatóanyagok, 2017. december 27. Itt érhető el
2.Dinamikus módszer küldése Java - ban Alapvető Java bemutató | Studytonight. Elérhető itt