Staatilise ja dünaamilise köitmise erinevus

Põhierinevus - staatiline Köitmine vs dünaamiline köitmine
 

Programmeerimiskeeled nagu Java ja C # toetavad objektorienteeritud programmeerimist (OOP). See võimaldab ehitada tarkvara objekte kasutades. Tarkvarasüsteemis või programmis on palju objekte. Nendel objektidel on atribuudid ja meetodid. Atribuudid kirjeldavad tunnuseid. Meetodid kirjeldavad toiminguid, mida objekt saab teostada. Andmeid edastatakse objektide kaudu meetodeid kasutades. Nõutavad väärtused saadetakse parameetritega meetodikõnede kaudu. Meetodi tegelik rakendamine on meetodi määratluses. Meetodikõne ja meetodi määratluse vahel on seos. Seda tuntakse siduvana. Köiteid on kahte tüüpi. Need on staatilised ja dünaamilised. võtme erinevus staatilise sidumise ja dünaamilise sidumise vahel on see, staatilise köitmise korral eraldatakse sidumine kompileerimise ajal, dünaamiline sidumine aga käitamise ajal, mis on tegelik täitmise aeg. Selles artiklis käsitletakse nende kahe sidumismehhanismi erinevust.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on staatiline sidumine
3. Mis on dünaamiline köitmine
4. Sarnasused staatilise ja dünaamilise köitmise vahel
5. Võrdlus kõrvuti - staatiline köitmine vs dünaamiline köitmine tabelina
6. Kokkuvõte

Mis on staatiline köitmine?

Sidumine on seos meetodikõne ja meetodimääratluste vahel.

Joonis 01: Staatiline ja dünaamiline köitmine

Vaadake allolevat Java keeles kirjutatud programmi.

avalik klass A

avalik tühine meetod1 ()

System.out.println (“meetod1”);

avalik tühine meetod2 ()

System.out.println (“meetod2”);

avalik staatiline tühine pea (string [] args)

A obj = uus A ();

obj.metood1 ();

obj.meetodi2 ();

Ülaltoodud programmi kohaselt luuakse A-tüüpi objekt. Siis nimetatakse meetodit1 ja meetodit 2. Selle tuvastamine, milline meetod peaks täitmist nõudma, on siduv. Lause obj.method1 () kutsub meetodit1 () ja obj.method2 () kutsub meetodit2 (). See link on siduv.

Staatilise köitmise korral lahendab sidumise kompileerija sidumise. Seda tuntakse ka kui varane sidumine. Köitmine toimub enne programmi reaalset käivitumist. Staatiline sidumine toimub meetodi ülekoormamisel. Vaadake allolevat Java keeles kirjutatud programmi.

avaliku tühisuse arvutamine

avalik tühine summa (int x, int y)

System.out.println („Summa on“, x + y);

tühine summa (topelt x, topelt y)

System.out.println („Summa on“, x + y);

avalik staatiline tühine pea (string [] args)

Arvutus cal = uus arvutus ();

kaltsium (2,3);

kaltsium (5,1, 6,4);

Ülaltoodud programmi kohaselt võetakse kahe täisarvu ületamisel kasutusele kahe täisarvuga meetod. Kahe topeltväärtuse ületamisel rakendatakse kahele topeltväärtusele vastavat meetodit. See sidumisprotsess toimub kompileerimise ajal. Kompilaator teab, et cal.sum (2,3) jaoks tuleks kutsuda summeetod kahe täisarvuga. Kalli (5.1,6.4) korral kutsutakse see kahe topeltväärtusega summeetodil. Kogu nõutav teave on teada enne tööaega, seega suurendab see programmi tõhusust ja täitmise kiirust.

Mis on dünaamiline köitmine?

Dünaamilise köitmise korral ei lahenda kompilaator sidumist kompileerimise ajal. Sidumine toimub jooksuajal. Seda tuntakse ka kui hiline köitmine. Dünaamiline sidumine toimub meetodi alistamisel. Vaadake Java keeles kirjutatud programmi.

avaliku klassi kuju ()

avalik void draw ()

System.out.println (“Joonista kuju”);

avaliku klassi ring () laiendab kuju

avalik void draw ()

System.out.println (“Joonista ring”);

avaliku klassi kolmnurk () laiendab kuju

avalik void draw ()

System.out.println (“Joonista kolmnurk”);

avaliku klassi test

avalik staatiline tühine pea (string [] args)

Kuju s;

s = uus kuju ();

s.draw ();

s = uus ring ();

s.draw ();

s = uus kolmnurk ();

s.draw ();

Vastavalt ülaltoodud programmile on klassi Shape meetodi joonistamine (). Klassiring ja klassi kolmnurk laiendavad Shape klassi. Klassiring ja klassi kolmnurk võivad pärida klassi kuju atribuute ja meetodeid. Seetõttu on klassi kuju superklass või vanemate klass. Klassiring ja klassi kolmnurk on alamklassid või tuletatud klassid. Nendel klassidel on ka joonistus () meetod oma rakendustega. Seetõttu on superklassi viigimängu () meetod ümber lükatud.

Põhimeetodi korral kutsutakse erinevaid objekte. Leidub kuju tüüpi etalonmuutuja, mis on s. Seejärel s kutsub meetodi vastavalt konkreetsele klassile. Kompileerimise ajal viitab koostaja ainult superklassi joonistamise meetodile. Kui tegelik täitmine algab, viib see erinevate joonistusmeetodite täitmiseni. Esiteks osutavad s tüüpi Shape objektile. Seetõttu kasutab see kujundiklassis viigimeetodit. Siis osutavad s tüüpi Circle objektile ja see käivitab Circle klassi joonistusmeetodi. Lõpuks viitab s tüüpi Triangle objektile ja see viitab joonistusmeetodile kolmnurga klassis. Ehkki võrdlusmuutuja tüüp on Shape, sõltub sidumine objekti tüübist. Seda kontseptsiooni nimetatakse dünaamiliseks köitmiseks. Teave antakse käitamisajal, seega on staatilise sidumisega võrreldes täitmise kiirus aeglasem.

Milline on staatilise ja dünaamilise köitmise sarnasus?

  • Mõlemad on seotud polümorfismiga, mis võimaldab objektil käituda mitmel viisil.

Mis vahe on staatilisel ja dünaamilisel köitmisel??

Staatiline köitmine vs dünaamiline köitmine

Staatiline köitmine on sidumise tüüp, mis kogub kogu vajaliku teabe funktsiooni kutsumiseks kompileerimise ajal. Dünaamiline köitmine on köitmise tüüp, mis kogub kogu vajaliku teabe funktsiooni kutsumiseks käituse ajal.
 Köitmise aeg
Staatiline sidumine toimub kompileerimise ajal. Dünaamiline sidumine toimub töö ajal.
Funktsionaalsus
Staatiline köitmine kasutab sidumiseks tüüpteavet. Dünaamiline köitmine kasutab sidumiseks objekte.
 Tegelik objekt
Staatiline sidumine ei kasuta sidumiseks tegelikku objekti. Dünaamiline köitmine - sidumiseks kasutage tegelikku objekti.
Sünonüümid
Staatilist sidumist nimetatakse ka varaseks sidumiseks. Dünaamilist sidumist nimetatakse ka hiliseks sidumiseks.
Hukkamine
Täitmise kiirus on staatilisel sidumisel kiire. Täitmise kiirus on dünaamilisel sidumisel madal.
Näide
Meetodi ülekoormamisel kasutatakse staatilist sidumist. Dünaamilist sidumist kasutatakse meetodi alistamisel.

Kokkuvõte - staatiline Köitmine vs dünaamiline köitmine 

Meetodikõne ja meetodi määratluse vahel on seos. Seda tuntakse siduvana. On olemas kahte tüüpi sidumist, mida nimetatakse staatiliseks sidumiseks ja dünaamiliseks sidumiseks. Staatilise sidumise ja dünaamilise sidumise erinevus seisneb selles, et staatilise sidumise korral eraldatakse sidumine kompileerimise ajal, dünaamiline sidumine aga käitamisajal, mis on tegelik täitmise aeg. Kuna nõutav teave antakse enne tööaega, on staatiline sidumine dünaamilise sidumisega kiire teostamine.

Laadige alla staatilise köitmise vs dünaamilise köitmise PDF

Selle artikli PDF-versiooni saate alla laadida ja seda võrguühenduseta otstarbel kasutada tsitaatide märkuse kohaselt. Laadige alla PDF-versioon siit: Staatilise ja dünaamilise köitmise erinevus

Viide:

1.Java intervjuu 04 - staatiline köitmine ja dünaamiline köitmine, Mahika juhendid, 27. detsember 2017. Saadaval siin