Varhaisen ja myöhäisen sidonnan välinen ero

Sisällysluettelo:

Varhaisen ja myöhäisen sidonnan välinen ero
Varhaisen ja myöhäisen sidonnan välinen ero

Video: Varhaisen ja myöhäisen sidonnan välinen ero

Video: Varhaisen ja myöhäisen sidonnan välinen ero
Video: Ohjelmointi 2024, Marraskuu
Anonim

Avainero – varhainen vs myöhäinen sidonta

Varhainen sidonta ja myöhäinen sidonta ovat kaksi polymorfismiin liittyvää käsitettä. Early Binding tapahtuu käännösaikana, kun taas myöhäinen sidonta tapahtuu ajon aikana. Keskeinen ero Early Bindingin ja Late Bindingin välillä on, että Early Binding käyttää luokkatietoja menetelmäkutsujen ratkaisemiseen, kun taas Late Binding käyttää objektia menetelmäkutsujen ratkaisemiseen.

Ohjelmointikielet, kuten Java, tukevat Object Oriented Programming (OOP) -ohjelmointia. Se on paradigma, joka mahdollistaa ohjelman tai ohjelmiston rakentamisen objektien avulla. Ohjelmistossa on useita objekteja. Nämä objektit ovat yhteydessä toisiinsa ja välittävät viestejä menetelmien avulla. Jokaisella esineellä on ominaisuuksia ja käyttäytymistä. Ominaisuudet kuvataan ominaisuuksien tai attribuuttien avulla. Käyttäytymistä kuvataan menetelmin. Objektilla Opiskelija voi olla ominaisuuksia, kuten nimi, ikä ja ne esitetään ominaisuuksilla. Objektilla Opiskelija voi olla käyttäytymismalleja, kuten opiskelu ja lukeminen, ja ne esitetään menetelmillä. Yksi OOP:n tärkeimmistä pilareista on polymorfismi. Se mahdollistaa kohteen käyttäytymisen monin eri tavoin. Varhainen sidonta ja myöhäinen sidonta ovat kaksi käsitettä polymorfismissa. Ylikuormitusmenetelmät liimataan käyttämällä aikaista sidontaa. Ohitetut menetelmät yhdistetään käyttämällä myöhäistä sidontaa.

Mitä on varhainen sidonta?

Early Bindingissä luokkatietoja käytetään menetelmäkutsujen ratkaisemiseen. Varhainen sidonta tapahtuu käännöshetkellä. Se tunnetaan myös nimellä staattinen sidonta. Tässä prosessissa sidonta tapahtuu ennen kuin ohjelma todella suoritetaan. Ylikuormitusmenetelmät liimataan käyttämällä aikaista sidontaa. Katso alla olevaa ohjelmaa.

Ero varhaisen ja myöhäisen sitomisen välillä
Ero varhaisen ja myöhäisen sitomisen välillä

Kuva 01: Laskentaluokka

Ero aikaisen ja myöhäisen sidonnan välillä_Kuva 02
Ero aikaisen ja myöhäisen sidonnan välillä_Kuva 02

Kuva 02: Varhaisen sidonnan pääohjelma

Yllä olevan ohjelman mukaan Laskenta-luokka sisältää lisäysmenetelmän, joka hyväksyy kaksi kokonaislukuarvoa, ja toisen lisäysmenetelmän, joka hyväksyy kaksi kaksoisarvoa. Pääohjelmassa luodaan Laskenta-tyyppinen objekti. Kun välitetään kaksi kokonaislukua add-metodille, se käynnistää add-metodin, joka hyväksyy kaksi kokonaislukua. Kun kaksi kaksoisarvoa välitetään add-metodille, se kutsuu kahta kaksoisarvoa vastaavan menetelmän. Tämä sidontaprosessi tapahtuu käännösvaiheessa. Kaikki tarvittavat tiedot ovat tiedossa ennen ajonaikaa, joten se lisää ohjelman tehokkuutta ja suoritusnopeutta.

Mikä on myöhäinen sidonta?

Late Bindingissä objektia käytetään menetelmäkutsujen ratkaisemiseen. Myöhäinen sidonta tapahtuu suorituksen aikana. Se tunnetaan myös nimellä dynaaminen sidonta. Tässä prosessissa sidonta tapahtuu ohjelmaa suoritettaessa. Ohitetut menetelmät yhdistetään käyttämällä myöhäistä sidontaa. Katso alla olevaa ohjelmaa.

Ero aikaisen ja myöhäisen sidonnan välillä_Kuva 03
Ero aikaisen ja myöhäisen sidonnan välillä_Kuva 03

Kuva 03: Muotoluokka

Ero aikaisen ja myöhäisen sidonnan välillä_Kuva 04
Ero aikaisen ja myöhäisen sidonnan välillä_Kuva 04

Kuva 04: Ympyräluokka

Ero aikaisen ja myöhäisen sidonnan välillä_Kuva 05
Ero aikaisen ja myöhäisen sidonnan välillä_Kuva 05

Kuva 05: Kolmioluokka

Keskeinen ero varhaisen ja myöhäisen sidonnan välillä
Keskeinen ero varhaisen ja myöhäisen sidonnan välillä

Kuva 06: Pääohjelma myöhäiseen sidokseen

Yllä olevan ohjelman mukaan luokassa Shape on piirtomenetelmä. Luokka Ympyrä ja luokka Kolmio luokka laajentaa Shape-luokkaa. Siksi nämä kaksi luokkaa voivat periä Shape-luokan attribuutit ja menetelmät. Shape Class on perusluokka. Ympyrä- ja kolmioluokat ovat johdettuja luokkia. Luokilla Circle ja luokilla Triangle on myös piirustusmenetelmä omilla toteutuksillaan. Joten Shape-luokan piirtomenetelmä ohitetaan johdettujen luokkien piirtomenetelmillä.

Pääohjelmassa luodaan Shape-tyyppinen viitemuuttuja s. Käännöshetkellä kääntäjä viittaa vain perusluokan piirtomenetelmään. Suorituksen aikana suoritetaan erilaisia piirtomenetelmiä. Ensin s osoittaa Shape-tyypin objektiin. Joten Shape-luokan piirtomenetelmä vedetään. Sitten s osoittaa Circle-tyypin objektiin, ja se kutsuu Circle-luokan piirtomenetelmän. Lopuksi s osoittaa Triangle-tyypin objektiin, ja se käynnistää piirtomenetelmän Triangle-luokassa. Metodeja kutsutaan kohteista riippuen. Siksi objektia käytetään ratkaisemaan menetelmäkutsu myöhäisessä sidonnassa. Sitomiseen tarvittavat tiedot annetaan ajon aikana, joten suoritusnopeus on hitaampi verrattuna aikaiseen sidontaan.

Mikä on samank altaisuus varhaisen ja myöhäisen sidonnan välillä?

Sekä Early Binding että Late Binding liittyvät polymorfismiin, joka on OOP:n pilari

Mitä eroa on varhaisella ja myöhäisellä sidoksella?

Varhainen sidonta vs myöhäinen sidonta

Prosessia, jossa luokkatietojen käyttäminen menetelmäkutsujen ratkaisemiseen käännöshetkellä tapahtuu, kutsutaan Early Bindingiksi. Prosessia, jossa objektia käytetään ajon aikana tapahtuvan menetelmäkutsujen ratkaisemiseen, kutsutaan myöhäiseksi sidokseksi.
Sidonta-aika
Varhainen sidonta tapahtuu käännösaikana. Myöhäinen sidonta tapahtuu suoritusaikana.
Toiminnot
Early Binding käyttää luokan tietoja menetelmäkutsujen ratkaisemiseen. Late Binding käyttää objektia menetelmäkutsujen ratkaisemiseen.
Synonyymit
Varhainen sidonta tunnetaan myös staattisena sidontana.. Myöhäinen sidonta tunnetaan myös dynaamisena sidontana.
Tapahtuma
Ylikuormitusmenetelmät sidotaan käyttämällä aikaista sidontaa. Ohitetut menetelmät yhdistetään käyttämällä myöhäistä sidontaa.
Suoritusnopeus
Suoritusnopeus on nopeampi varhaisessa sidonnassa. Suoritusnopeus on alhaisempi myöhäisessä sidonnassa.

Yhteenveto – varhainen vs myöhäinen sidonta

OOP:ta käytetään yleisesti ohjelmistokehitykseen. Yksi OOP:n pääpilareista on polymorfismi. Early Binding ja Late Binding liittyvät siihen. Varhainen sidonta tapahtuu käännösaikana, kun taas myöhäinen sidonta tapahtuu ajon aikana. Menetelmän ylikuormituksessa sidonta tapahtuu käyttämällä aikaista sidontaa. Menetelmän ohituksessa sidonta tapahtuu käyttämällä myöhäistä sidontaa. Ero Early Bindingin ja Late Bindingin välillä on, että Early Binding käyttää luokkatietoja menetelmäkutsujen ratkaisemiseen, kun taas Late Binding käyttää objektia menetelmäkutsujen ratkaisemiseen.

Suositeltava: