Dinamičko vezanje u je bitan koncept s kojim svaki programer mora biti upoznat jer rješava različite probleme u stvarnom vremenu. U ovom će članku biti obrađeni sljedeći putokazi,
Dinamičko vezanje u javi važan je pojam koji svaki programer mora poznavati.
Da bismo razumjeli rad dinamičkog povezivanja, moramo biti svjesni druge vrste vezivanja, poznate kao statičko vezivanje.
Nastavljamo s ovim člankom o Dynamic Binding u Javi
Statično vezanje
Također poznato i kao Early Binding (Rano povezivanje), to je povezivanje koje rješava kompajler u vrijeme sastavljanja.
Treba napomenuti da se vezivanje privatnih, konačnih i statičkih metoda vrši tijekom vremena kompajliranja. To je zbog činjenice da statičko vezivanje pruža bolje performanse. Prevoditelj je svjestan da se ove metode ne mogu nadjačati i uvijek im pristupa objekt lokalne klase. Dakle, prevodilac lako određuje objekt klase (lokalna klasa).
Primjer:
javna klasa Glavna {javna statička klasa superklasa {static void print () {System.out.println ('Ovo je superklasa')}} javna statička podklasa klase proširuje superklasu {static void print () {System.out.println (' Ovo je podklasa ')}} javna statička void glavna (String [] args) {superclass sup = new superclass () superclass sub = new subclass () sup.print () sub.print ()}}
U gore navedenom primjeru, metoda ispisa superklase je statična i sastavljač je svjestan da se u potklasi ne može nadjačati.
Dakle, izlaz koda je sljedeći:
rekurzija fibonaci c ++
Izlaz:
Ovo je superrazred
Ovo je superrazred
Nastavljamo s ovim člankom o Dynamic Binding u Javi
Dinamičko povezivanje u Javi
U ovoj vrsti vezanja, prevodilac ne odlučuje o metodi koja će se pozivati. Odgovarajući primjer za dinamičko vezanje je Nadjačavanje. Ovdje roditeljski razred i dječji razred imaju istu metodu.
Primjer:
javna klasa Glavna {javna statička klasa superklasa {void print () {System.out.println ('Ovo je superklasa')}} javna statička klasa klase proširuje superklasu {@Override void print () {System.out.println ('This je podrazred ')}} javna statička praznina main (String [] args) {superclass sup = new superclass () superclass sub = new subclass () sup.print () sub.print ()}}
Izlaz:
U gore navedenom primjeru, sastavljač nije svjestan ispisa koji treba pozvati. Prevoditelj radi referencirajući varijable, a ne prema vrsti objekata. Zbog toga se vezanje odgađa za vrijeme izvođenja.
Ovo je superrazred
Ovo je podrazred
Nastavljamo s ovim člankom o Dynamic Binding u Javi
Razlika između statičkog i dinamičkog povezivanja
α Statičko vezanje koriste privatni, statički i konačni članovi. Za virtualne metode u Javi vezivanje se vrši u vrijeme izvođenja u skladu s objektom vremena izvođenja.
α Dok statično vezivanje koristi informacije o tipu, dinamičko vezivanje koristi objekte za vezivanje.
α Static podržava preopterećenje, dok Dynamic Binding podržava prenamjenu.
Tako smo došli do kraja ovog članka o ‘Dinamičkom vezivanju u Javi’. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.
Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.