Hva betyr "å binde" Mean i en datamaskin?

I dataprogrammering, en "kompilator" tar programmerer kildekoden og gjør den til maskinlesbar kode. Kompilatoren tar variablene og funksjonsnavnene i kildekoden og binder dem til adresser i minnet som inneholder data fra disse variablene og funksjoner. På denne måten vet datamaskinen når og hvor til referanseverdier og data. Med objektorientert programmering, kan kompilatoren dynamisk binde navn til verdier eller minneplasser, for å tillate fleksibilitet i objekt oppdrag gjennom dynamisk binding.

Variabler og referanser

I dataprogrammering, "bindende" refererer til både variabler og referanser. Når en kompilator "binder" et variabelnavn, det direkte oversettes at variabelnavnet til en maskin adresse som skal inneholde denne verdien. Den type variable vil diktere hvor denne verdien vil bli brukt. En normal variable vil inneholde en konstantverdien for programmet, samtidig som en referanse variabel, også kjent som en peker, vil inneholde en adresse i minnet.

objekt~~POS=TRUNC Referanser

Pointer referanser er mest brukt når dynamisk tildele minne for objekter. Objekter kan opprettes i en lokal kontekst basert på programmet eller funksjonen, men ofte programmerere vil skape en referanse til et objekt i langtidshukommelsen som kan brukes i hele et program uten å kopiere den. Disse referansene er kartlagt for å referere til navn som andre variabler.

Men objekt arv introduserer en ny type binding som forenkler visse objektorientert programmering paradigmer.

Klasser og arv

Klassene representerer skissene for objekter, definere hva slags data de inneholder og hva de gjør. Imidlertid kan andre klasser "arve" funksjonalitet og data fra andre klasser mens implementere sine egne funksjoner. Så, for eksempel, kan en klasse "Soccerball" arver fra en base klasse "ball", slik at det kan bruke data og funksjoner av en ball samtidig utvide klassedefinisjonen for å matche en fotball i programmet. I programmering terminologi, er dette forholdet kaller en "is-a" forhold, ved at en Soccerball "er" en ball. Konseptet med arv illustrerer to forskjellige typer av bindings: statisk og sen binding.

dynamisk Binding

Tidlig eller statisk binding betyr at kompilatoren binder en variabel eller referansenavnet til et objekt når programmet er kompilert. Så funksjoner og variabler inne klasser vil være bundet til et navn på samling tid. Dynamisk, eller sent, bindende betyr at bindende skjer under kjøring. En arve klasse som deler en "is-a" forhold med en annen klasse, som i eksempelet med ballen og Soccer klasser, kan redefinere funksjoner fra sin base klassen sine egne behov. Dette vil gi to ulike funksjoner for ulike klasser: en for basen, og en for å arve klassen. Sen binding vil binde funksjonsnavnet til den aktuelle koden plassering basert på hvilket objekt det er forbundet med.