Varhainen sitoutuminen ja myöhäinen sitoutuminen ovat kaksi polymorfismiin liittyvää käsitettä. Varhainen sitominen tapahtuu käännöshetkellä, kun taas myöhäinen sitominen tapahtuu ajon aikana. avainero varhaisen ja myöhäisen sitomisen välillä on se Varhainen sitominen käyttää luokkatietoja ratkaisemaan menetelmäkutsu, kun taas myöhäinen sidonta käyttää objektia menetelmän kutsun ratkaisemiseen.
Ohjelmointikielet, kuten Java, tukevat objektiohjattua ohjelmointia (OOP). Se on paradigma, joka mahdollistaa ohjelman tai ohjelmiston rakentamisen objektien avulla. Ohjelmistossa on useita objekteja. Nämä objektit on kytketty toisiinsa ja välittävät viestejä menetelmillä. Jokaisella esineellä on ominaispiirteitä ja käyttäytymistä. Ominaisuudet kuvataan ominaisuuksilla tai määritteillä. Käyttäytymiset kuvataan menetelmillä. Kohteella Opiskelija voi olla ominaisuuksia, kuten nimi, ikä, ja niitä edustavat ominaisuudet. Kohde Opiskelijalla voi olla käyttäytymistä, kuten opiskelua ja lukemista, ja ne esitetään menetelmillä. Yksi tärkeimmistä OOP-pilareista on polymorfismi. Sen avulla kohde voi käyttäytyä monin tavoin. Varhainen sitominen ja myöhäinen sitominen ovat polymorfismissa kaksi käsitettä. Ylikuormitusmenetelmät sidotaan varhaisella sidonnalla. Korvatut menetelmät sidotaan käyttämällä myöhäistä sitomista.
1. Yleiskatsaus ja keskeiset erot
2. Mikä on varhainen sitominen
3. Mikä on myöhäinen sitominen
4. Varhaisen ja myöhäisen sitomisen samankaltaisuudet
5. Vertailu rinnakkain - varhainen ja myöhäinen sitominen taulukkomuodossa
6. Yhteenveto
Varhaisessa sidonnassa luokan tietoja käytetään menetelmäsoiton ratkaisemiseen. Varhainen sitominen tapahtuu käännöshetkellä. Se tunnetaan myös nimellä staattinen sidonta. Tässä prosessissa sidonta tapahtuu ennen ohjelman todellista ajoa. Ylikuormitusmenetelmät sidotaan varhaisella sidonnalla. Katso alla olevaa ohjelmaa.
Kuva 01: Laskentaluokka
Kuva 02: Varhaisen sidonnan pääohjelma
Yllä olevan ohjelman mukaan laskentaluokka sisältää lisäysmenetelmän, joka hyväksyy kaksi kokonaislukuarvoa, ja toisen lisäysmenetelmän, joka hyväksyy kaksi kaksoisarvoa. Pääohjelmassa luodaan laskentatyyppinen objekti. Kun siirtyy kaksi kokonaislukua lisäysmenetelmään, se kutsuu lisäämismenetelmää, joka hyväksyy kaksi kokonaislukua. Kun siirtyy kaksi kaksoisarvoa lisäysmenetelmään, se kutsuu menetelmää, joka vastaa kahta kaksoisarvoa. Tämä sidontaprosessi tapahtuu käännöshetkellä. Kaikki vaaditut tiedot tiedetään ennen suoritusta, joten se lisää ohjelman tehokkuutta ja suoritusnopeutta.
Myöhäisessä sitomisessa objektia käytetään menetelmän kutsun ratkaisemiseen. Myöhäinen sitoutuminen tapahtuu ajon aikana. Se tunnetaan myös nimellä dynaaminen sidonta. Tässä prosessissa sidonta tapahtuu ohjelman suorittamisen yhteydessä. Korvatut menetelmät sidotaan käyttämällä myöhäistä sitomista. Katso alla olevaa ohjelmaa.
Kuva 03: Muotoilu
Kuva 04: Ympyräluokka
Kuva 05: Kolmioluokka
Kuva 06: Myöhäisen sidonnan pääohjelma
Yllä olevan ohjelman mukaan luokan muodolla on arvontamenetelmä. Class Circle- ja Class Triangle -luokka laajentaa Shape-luokkaa. Siksi nämä kaksi luokkaa voivat periä Shape-luokan ominaisuudet ja menetelmät. Muodoluokka on perusluokka. Ympyrä- ja kolmioluokat ovat johdettuja luokkia. Class Circle- ja Class Triangle -pelissä on myös piirtomenetelmä omilla toteutuksillaan. Joten muoto-luokan arvontamenetelmä korvaa johdettujen luokkien piirtomenetelmät.
Pääohjelmassa luodaan Shape-tyyppinen referenssimuuttuja s. Kääntämisaikana kääntäjä viittaa vain perusluokan piirtomenetelmään. Suorituksen aikana suoritetaan erilaisia piirtomenetelmiä. Ensin s osoittaa tyypin muoto Shape. Joten muodon luokan piirtomenetelmä otetaan käyttöön. Sitten s osoittaa Circle-tyypin objektiin, ja se vetoaa Circle-luokan piirtomenetelmään. Lopuksi s osoittaa tyypin Triangle objektiin, ja se vetoaa piirtomenetelmään kolmion luokassa. Menetelmiä kutsutaan objektista riippuen. Siksi objektia käytetään ratkaisemaan menetelmäkutsu myöhäisessä sidonnassa. Sidottamiseen tarvittavat tiedot annetaan ajon aikana, joten suoritusnopeus on hitaampi kuin aikaisessa sidonnassa.
Varhainen sitominen vs myöhäinen sitominen | |
Prosessia, jossa luokkatietoja käytetään menetelmäkutsun ratkaisemiseen, joka tapahtuu käännöshetkellä, kutsutaan aikaiseksi sitomiseksi. | Prosessia, jossa objektia käytetään menetelmän kutsumisen ratkaisemiseksi, joka tapahtuu ajoaikana, kutsutaan myöhäiseksi sitomiseksi. |
Sitoutumisaika | |
Varhainen sidonta tapahtuu käännöshetkellä. | Myöhäinen sitominen tapahtuu juoksuaikana. |
toiminnallisuus | |
Varhainen sidonta käyttää luokkatietoja ratkaisemaan menetelmäsoiton. | Late Binding käyttää objektia menetelmän kutsun ratkaisemiseen. |
synonyymit | |
Varhainen sidonta tunnetaan myös nimellä staattinen sidonta ... | Myöhäinen sitoutuminen tunnetaan myös dynaamisena sitoutumisena. |
esiintyminen | |
Ylikuormitusmenetelmät sidotaan varhaisella sidonnalla. | Korvatut menetelmät sidotaan käyttämällä myöhäistä sitomista. |
Suorituksen nopeus | |
Suoritusnopeus on nopeampi varhaisessa sidonnassa. | Suoritusnopeus on alhaisempi myöhäisessä sidonnassa. |
OOP: ta käytetään yleisesti ohjelmistojen kehittämiseen. Yksi tärkeimmistä OOP-pilareista on polymorfismi. Varhainen ja myöhäinen sitominen liittyvät toisiinsa. Varhainen sitominen tapahtuu käännöshetkellä, kun taas myöhäinen sitominen tapahtuu ajon aikana. Menetelmän ylikuormituksessa sitoutuminen tapahtuu varhaisilla sidoksilla. Menetelmän ohittamisessa sitoutuminen tapahtuu käyttämällä myöhäistä sitomista. Ero aikaisen ja myöhäisen sitomisen välillä on, että varhainen sitominen käyttää luokkatietoja ratkaisemaan menetelmäsoiton, kun taas myöhäinen sitominen käyttää objektia menetelmäsoiton ratkaisemiseen..
1.Java-haastattelu 04 - Staattinen sidonta vs dynaaminen sidonta, Mahika-oppaat, 27. joulukuuta 2017. Saatavilla täältä
2.Dynaamisen menetelmän lähetys Java | Core Java -opetus | Studytonight. täältä