Johdanto staattiseen ja dynaamiseen sitomiseen

Nämä ovat kahden tyyppisiä sitovia. Sitoutuminen viittaa menetelmän kutsun assosiaatioon menetelmäkehoon. Staattisessa sidossa kaikki määritykset ja ilmoitukset tapahtuvat kokoamishetkellä. Heillä on useita etuja ja haittoja toistensa suhteen. Suorituskykyssä staattinen sidonta on parempi kuin menetelmien ja muuttujien dynaaminen sitominen. Staattinen sidonta tunnetaan myös nimellä varhainen sidonta. Kuten kaikki tiedämme, sidontamenetelmät kuten staattiset, yksityiset ja lopulliset tapahtuvat kokoamisajan kuluessa, kun taas dynaamisessa sidontakääntäjässä ei päätetä, mitä menetelmää kutsutaan.
Annetun esimerkin alla on parempi esimerkki ymmärtää

Esimerkki 1

public class StaticBindingExample (
public static void main(String args()) (
Vehicle veh = new MotorBike();
veh.start();
)
)
class Vehicle (
static void start() (
System.out.println("vehicle will start now..");
)
)
class MotorBike extends Vehicle (
static void start() (
System.out.println("Bike will start now..");
)
)

Yllä olevassa esimerkissä voimme nähdä, kuinka staattisen sidonnan tarkoituksena on estää luokan ylikuormitus.

Annetun esimerkin alla näytetään, kuinka dynaaminen sidonta toimii. Tässä lapsiluokkamenetelmä on vanhemman luokan ohittaminen

Esimerkki 2

public class StaticBindingExample (
public static void main(String args()) (
Vehicle veh = new MotorBike();
veh.start();
)
)
class Vehicle (
void start() (
System.out.println("vehicle will start now..");
)
)
class MotorBike extends Vehicle (
void start() (
System.out.println("Bike will start now..");
)
)

Tässä esimerkissä staattista ei ole läsnä vanhemman ja lapsen luokan menetelmän mukaisessa aloitusmenetelmässä, joten samalla nimellä toimiva menetelmä ohittaa vanhemman luokan menetelmän. Se tapahtuu tästä johtuen.

Edellä annetussa kuvakaappauksessa annetaan ohjelman lähtö.

Miksi staattinen sidonta ja dynaaminen sidonta?

  1. Ohjelmoinnin on välttämätöntä käsitellä erilaisia ​​tilanteita käyttämällä staattista ja dynaamista sidontaa.
  2. Compile-Time Binding tunnetaan varhaisena sidoksena eli tämä tarkoittaa sitä, milloin on tarpeen ilmoittaa asiat ohjelman suorittamisen yhteydessä (aivan alussa). Dynaamisessa sitomisessa sitoutuminen tapahtuu ajoaikana, joka tunnetaan myös nimellä myöhäinen sitominen.
  3. Menetelmä ja muuttujat, jotka on määritelty staattisiksi, lopullisiksi ja yksityisiksi, viittaavat staattiseen sitomiseen, kun taas virtuaalisia menetelmiä, jotka sitominen tapahtuu ajon aikana, kutsutaan dynaamiseksi sitomiseksi.
  4. Menetelmä Ylikuormitus / Operaattorin ylikuormitus käyttää staattista sitomista, joten se on yksi parhaimmista esimerkeistä siitä, kun Ohitus käyttää dynaamista, joten sitä kutsutaan parhaaksi esimerkiksi dynaamisesta sitomisesta.
  5. Tässä todellista objektia ei koskaan käytetä, kun todellista objektia käytetään dynaamisessa sidoksessa.

esimerkit

Alla olevassa esimerkissä näemme kuinka staattinen sidonta tapahtuu

Esimerkki # 1

// Vanhemman luokan toteutus

class Colony(
//Static method to start the electricity of the Colony
public static void start electricity()(
//printing the message here
System.out.println("Colony Electricity is On.");
)
)
//Child class implementation
class Building extends Colony(
//Static method to start the electricity of Building
public static void startElectricity()(
//printing the message here
System.out.println("Building Electricity is On.");
)
)
public class StaticBindingExample (
public static void main(String args()) (
//Creating object of the parent class type
Colony col = new Colony();
col.startElectricity();
//Creating object of the child class type
Colony col2 = new Building();
col2.startElectricity();
)
)

Edellä annetussa ohjelmassa col on tyyppiluokan Colony referenssimuuttuja, joka osoittaa luokan Colony esineeseen. col2 on myös vertailumuuttuja tyyppiluokassa Colony, mutta osoittaa luokan rakennuksen kohteeseen. Kun kokoaminen tapahtuu, kun taas sidontakompilaattori ei koskaan tarkista objektityyppiä, se tarkistaa vain viitemuuttujan tyypin.

Yllä olevassa ohjelmassa, kuten col .startElectricity (), kääntäjä tarkistaa, onko käynnistyssähkö () -menetelmämääritelmä luokkapesäkkeessä vai ei, koska col on luokan Colony-tyyppi. Samoin kol2.startElectricity () -menetelmäkutsuun, Se tarkistaa, onko käynnistyssähkö () -menetelmää läsnä luokan siirtokunnassa vai ei, koska col2 on myös luokan siirtomaa tyyppi. Se ei tarkista mihin esineeseen col, col2 osoittaa. tämäntyyppinen sitoutuminen tunnetaan staattisena sitoutumisena.

lähtö:

Edellä annettu ohjelmalähtö osoittaa, kuinka staattisia jäseniä käytetään estämään ohittaminen.

Esimerkki 2

Alla olevassa esimerkissä näemme kuinka dynaaminen sidonta tapahtuu ajon aikana

// Vanhemman luokan toteutus

class Colony(
//method to start the electricity of the Colony
void startElectricity()(
//printing the message here
System.out.println("Colony Electricity is On.");
)
)
//Child class implementation
class Building extends Colony(
//method to start the electricity of Building
void startElectricity()(
//printing the message here
System.out.println("Building Electricity is On.");
)
)
public class StaticBindingExample (
public static void main(String args()) (
//Creating object of the parent class type
Colony col = new Colony();
col.startElectricity();
//Creating object of the child class type
Colony col2 = new Building();
col2.startElectricity();
)
)

Edellä annetussa ohjelmassa kaikki on sama kuin staattisessa esimerkkiohjelmassa, mutta tässä esimerkissä menetelmän jäsen “staattinen” poistetaan. Tämän aikana kutsutaan pääobjektin menetelmään, johon col.startElectricity () osoittaa. Vaikka col2.startElectricity () -kutsussa kutsutaan pääobjektin menetelmää, johon col2 osoittaa. Tämän tyyppinen sitoutuminen tunnetaan dynaamisena sitoutumisena.

lähtö:

Etu

  1. Staattinen sitominen on tehokkaampaa ja nopeampaa kuin dynaaminen. Tämä Binding-kääntäjä tietää, että tämäntyyppisiä menetelmiä ei voida ohittaa.
  2. Staattisessa sidonnassa tyyppiä käytetään, kun taas dynaaminen sidonta käyttää objekteja sidontaan.
  3. Yksi dynaamisen sidonnan eduista on joustavuus, joustavuuden ansiosta yksi toiminto pystyy käsittelemään erityyppisiä kohteita suoritusaikana.
  4. Staattisessa sidonnassa kaikki tiedot, joita tarvitaan ennen kokoamisaikaa, kun taas dynaamisessa sidonnassa, tietoja ei ole saatavana ennen ajoaikaa.
  5. Staattinen sidonta voidaan suorittaa normaalitoiminnoilla, kun taas dynaaminen sidonta voidaan saavuttaa virtuaalitoiminnoilla.

johtopäätös

Nämä ovat joitain olio-ohjelmoinnin tärkeitä käsitteitä. Sidonta viittaa koodin suorittamiseen. Se tapahtuu käännöksen aikana, kun taas dynaaminen sidonta tapahtuu ajon aikana. Määritelmä, ilmoitus ja ilmoituksen laajuus, nämä ovat staattisen sidonnan kolme tärkeätä pylvästä, kun ne ovat dynaamisessa sidonnassa, sitovan nimi ja sitovien asioiden käyttöikä.

Suositellut artikkelit

Tämä on opas staattiseen sitomiseen ja dynaamiseen sitomiseen. Tässä keskustellaan johdannosta, käytöstä ja eduista. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Tyypit Web-hosting
  2. Ylikuormitus ja ohittaminen Java-järjestelmässä
  3. AngularJS -direktiivit
  4. Polymorfismi Java
  5. JavaScript-staattinen menetelmä | Toimii | esimerkit