Sissejuhatus staatilisse köitmisse ja dünaamilisse köitmisse

Neid kahte tüüpi sidumist. Sidumine viitab meetodikõne seotusele meetodikehaga. Staatilise köitmise korral toimub kogu määramine ja deklareerimine kompileerimise ajal. Neil on üksteise suhtes mitu plussi ja miinuseid. Toimivuses on staatiline köitmine parem kui meetodite ja muutujate dünaamiline sidumine. Staatiline sidumine on tuntud ka kui varajane sidumine. Nagu me kõik teame, toimivad köitmismeetodid nagu staatilised, privaatsed ja lõplikud kompileerimise aja jooksul, dünaamilise köitmise kompilaatoris aga ei otsustata, millist meetodit nimetatakse.
Allpool toodud näide on parem näide mõistmiseks

Näide nr 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..");
)
)

Ülaltoodud näites näeme, kuidas staatiline sidumine on mõeldud klassi ülekoormamise vältimiseks.

Allpool toodud näites kuvatakse, kuidas dünaamiline köitmine töötab. Siin on lapsiklassi meetod vanemate klassi ülimuslik

Näide 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..");
)
)

Selles näites statistilist alg- ja lapsevanemaklassi meetodi korral algmeetodil ei esine, seega alistab sama nimega meetod vanemklassi meetodi. See juhtub tänu sellele.

Ülaltoodud ekraanipildil on antud programmi väljund.

Miks just staatiline köitmine ja dünaamiline köitmine?

  1. Programmeerimine on vajalik erinevate olukordade käsitlemiseks staatilise ja dünaamilise köitmise abil.
  2. Kompileerimisaega sidumist nimetatakse varajaseks köitmiseks, st see tähendab, millal on vaja asjad deklareerida programmi täitmise kompileerimise ajal (päris alguses). Dünaamilise köitmise korral toimub köitmine jooksuajal, mida nimetatakse ka hiliseks köitmiseks.
  3. Meetod ja muutujad, mis on määratletud kui staatilised, lõplikud ja privaatsed, viitavad staatilisele köitmisele, samas kui virtuaalseid meetodeid, mis seotakse töö ajal, nimetatakse dünaamiliseks köitmiseks.
  4. Meetodi ülekoormamine / operaatori ülekoormamine kasutab staatilist köitmist, seega on see üks parimatest näidetest, samal ajal kui ülekirjutamine kasutab dünaamilist, seega on see dünaamilise köitmise parim näide.
  5. Selles ei kasutata kunagi reaalset objekti, samas kui dünaamilises köites kasutatakse reaalset objekti.

Näited

Allpool toodud näites näeme, kuidas staatiline sidumine toimub

Näide nr 1

// Vanemate klassi rakendamine

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();
)
)

Ülaltoodud programmis on col tüübi Koloonia tüüpmuutuja, mis osutab klassi Koloonia objektile. col2 on ka tüübiklassi Koloonia etalonmuutuja, kuid osutab klassi hoone objektile. Kui kompileerimine toimub, kontrollib köitmise kompilaator kunagi objekti tüüpi, kontrollib ta lihtsalt referentsmuutuja tüüpi.

Ülaltoodud programmis, näiteks col .startElectricity (), kontrollib kompilaator, kas käivituselektri () meetodi määratlus on klassikoloonias olemas või mitte, kuna col on klassikoloonia tüüp. Sarnaselt col2.startElectricity () meetodikõnega kontrollib see, kas klassis Koloonia on olemas elektrienergia käivitamise () meetod või mitte, kuna ka Col2 on klassi Koloonia tüüp. See ei kontrolli, millisele objektile col, col2 osutab. seda tüüpi sidumist nimetatakse staatiliseks sidumiseks.

Väljund:

Ülalnimetatud programmi väljund näitab, kuidas staatilisi liikmeid ülekaalu vältimiseks kasutatakse.

Näide 2

Allpool toodud näites näeme, kuidas dünaamiline köitmine töö ajal toimub

// Vanemate klassi rakendamine

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();
)
)

Ülaltoodud programmis on kõik sama nagu staatilises näidisprogrammis, kuid selles näites eemaldatakse meetodi liige „staatiline“. Selle käigus nimetatakse põhiobjekti meetodit, millele col.startElectricity () osutab. Kui kõneks on col2.startElectricity (), siis nimetatakse selle peaobjekti meetodit, millele col2 osutab. Seda tüüpi sidumist nimetatakse dünaamiliseks sidumiseks.

Väljund:

Eelis

  1. Staatiline köitmine on tõhusam ja kiirem kui dünaamiline. See köitmise kompilaator teab, et seda tüüpi meetodeid ei saa ümber lükata.
  2. Staatilise köitmise korral kasutatakse tüüpi, dünaamiline köitmine aga seoste jaoks objekte.
  3. Dünaamilise köitmise üks peamisi eeliseid on paindlikkus, tänu paindlikkusele saab üks funktsioon käitustöö ajal käsitleda erinevat tüüpi objekte.
  4. Staatilise köitmise korral jääb kogu teave, mis on vajalik enne kompileerimise aega, dünaamilise köitmise korral, enne tööaega teave saadaval.
  5. Staatiline köitmine võib toimuda tavaliste funktsioonide abil, dünaamiline köitmine aga virtuaalsete funktsioonide abil.

Järeldus

Need on mõned objektorienteeritud programmeerimise olulised mõisted. Sidumine viitab koodi täitmisele. See juhtub kompileerimise ajal, samal ajal kui dünaamiline köitmine toimub käitamisajal. Määratlus, deklaratsioon ja deklaratsiooni ulatus - need on dünaamilises köitmises kolm olulist staatilise köitmise tugisammast - sidumise nimetus ja sidumisasjade eluiga.

Soovitatavad artiklid

See on staatilise köitmise ja dünaamilise köitmise juhend. Siin käsitleme sissejuhatust, kasutusvõimalusi ja eeliseid. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Veebimajutuse tüübid
  2. Java ülekoormamine ja alistamine
  3. NurgaJS direktiivid
  4. Polümorfism Java-s
  5. JavaScripti staatiline meetod | Töötamine | Näited

Kategooria: