In het programmeren van computers , een ' compiler ' neemt programmeur broncode en verandert het in machine - leesbare code . De compiler is van variabelen en functienamen in de broncode en hen bindt adressen in geheugen dat de gegevens van deze variabelen en functies bevatten . Zo weet de computer wanneer en waar referentiewaarden en data . Met object - georiënteerd programmeren , kan de compiler dynamisch namen binden aan waarden of het geheugen locaties , met het oog op flexibiliteit bij het object opdracht door te laten dynamische binding . Variabelen en Referenties In het programmeren van computers , " binding " verwijst naar zowel variabelen en verwijzingen . Als een compiler " bindt " naam van een variabele , het direct vertaalt die variabele naam aan een machine -mailadres dat die waarde zal bevatten . Het type variabele bepalen hoe die waarde gebruikt . Een normale variabele zal een letterlijke waarde voor het programma bevatten , terwijl een verwijzing variabele , ook wel bekend als een pointer , zal een adres in het geheugen bevatten . Object Referenties pointer referenties worden het meest gebruikt bij dynamisch toewijzen van geheugen voor objecten . Objecten kunnen worden gemaakt in een lokale context op basis van het programma of functie , maar vaak programmeurs zal een verwijzing maken naar een object in de lange - termijn geheugen , dat gedurende een programma kan worden gebruikt zonder te kopiëren . Deze verwijzingen worden toegewezen aan namen als andere variabelen verwijzen . Maar objectovername introduceert een nieuw type binding dat bepaalde object - georiënteerd programmeren paradigma's vergemakkelijkt . Klassen en Inheritance klassen vertegenwoordigen blauwdrukken voor objecten , het definiëren van wat voor soort data die ze bevatten en wat ze doen . Echter , andere klassen kunnen " erven " functionaliteit en gegevens uit andere klassen , terwijl de uitvoering van hun eigen kenmerken . Dus, bijvoorbeeld , een klasse " SoccerBall " zou erven van een base class 'bal' zodat deze de gegevens en de functies van een bal kan gebruiken terwijl de uitbreiding van de definitie van de klasse om een voetbal wedstrijd in het programma . In de programmering terminologie , wordt deze relatie noemt een " is - een " relatie , in dat een SoccerBall "is " een bal . Het concept van overerving illustreert twee verschillende soorten binding : . Statische en late binding Dynamic Binding Vroeg of statische binding betekent dat de compiler bindt een variabele of verwijzing naam een object wanneer het programma wordt gecompileerd . Dus functies en variabelen in klassen zal worden gebonden aan een naam op het moment van compilatie . Dynamische , of te laat, binding betekent dat de binding gebeurt tijdens runtime. Een erven klasse die aandelen een "is - een " relatie met een andere klasse , zoals in het voorbeeld van de bal en SoccerBall klassen , kunnen functies van de base class herdefiniëren om zijn eigen behoeften. Dit laat twee verschillende functies voor verschillende klassen : een voor de basis , en een voor de klasse erven . Late binding zal de functienaam binden aan de juiste code locatie op basis van welk object het wordt geassocieerd met .
|