zondag 1 juli 2012

JavaScript voor mensen, hobbits en elven - Deel 4


“Een object is een geëtiketteerde doos met een handleiding en losse onderdelen, die gekloond kan worden.”
                                                                                                                        - Sam Rain
Programmeren gaat veel eenvoudiger als je dat doet in objecten; dit Object Georiënteerd Programmeren is in veel talen een aardige hap om te verteren, maar niet in JavaScript. Sterker nog, het is kinderlijk eenvoudig.
Classificeren is gewoon nuttig; mensen, hobbits en elven zijn allemaal wezens. Als je een wezen telkens moet beschrijven als tweebenig, magisch karakter met punt oren in plaats van Elf, dan voel je na een tijdje wel het redundante karakter. Een object is een klasse van gegevens – een klasse heeft speciale eigenschappen en een bepaald gedrag. Van een klasse kunnen er oneindig veel varianten zijn – in enge tovenaarstaal heten deze varianten een ‘instantie’. Omdat programmeren magie is, kan met een speciaal toverwoord nieuw ‘leven’ worden gecreëerd uit een bestaande spreuk (de klassedefinitie). Omdat een klasse maken hetzelfde is als een werkbeschrijving voor JavaScript, kan dat met ‘function’.
function Kangoeroe (naam)
{ this. naam = naam ;
   this. Soort = “kangoeroe” ;
}
De hoofdletter is weer stijl – door objecten een naam te geven met een hoofdletter, herken je als Hobbit zo dat het gaat om een klasse dan een normale uitvoeropdracht. Omdat er vele varianten kunnen zijn, moeten gegevens op te roepen zijn voor de ‘instantie’. Het toverwoord ‘this’ maakt een speciaal hoofdstuk voor de instantie; we kunnen 100 kangoeroe instanties maken die elk een unieke naam mogen hebben, maar daarvan zal iedere instantie bij het opvragen van de ‘soort’ de informatie teruggeven als “kangoeroe”. De punt (.) verbind het toverwoord this met het speciale ‘hoofdstuk’ en zoals straks duidelijk wordt – de instantie met het ‘hoofdstuk’.
Een ‘object’ – de klasse dus – is niet zoals een gewone ‘function’; daarom is er een toverwoord nodig, ‘new’ die het object omtovert naar de vorm. Dit toverwoord ‘new’ heet met een moeilijk tovenaarsbegrip de ‘constructor’. Ook zul je een verwijzing nodig hebben naar de nieuwe instantie – anders vind je deze niet meer terug, zoals een naald in de Stille Oceaan.
var a = new Kangoeroe (“japie”) ;
var b = new Kangoeroe (“kees”) ;
var c = new Kangoeroe (“mien”) ;
De tekst staat tussen dubbele aanhalingstekens, zodat JavaScript niet opzoek gaat naar hoofdstukken; tekst heet in de tovenaarsboeken een tekenreeks (String). De titels ‘a’, ‘b’ en ‘c’ hebben nu allen een hoofdstuk met een plaatje van een kangoeroe, maar ieder heeft zijn eigen naam gekregen in het onderschrift. Willen we de ‘soort’ opvragen, kan dat heel gemakkelijk:
var deSoort = a.soort; /* deSoort heeft nu de waarde “Kangoeroe” */
var deSoort = b.soort; /* nog steeds “kangoeroe” maar dit had niet gehoeven als b van een andere klasse zou zijn */
Wanneer JavaScript gegevens bewaart die horen bij een klasse, dan heten deze ‘eigenschappen’ (properties). Eigenschappen geven objecten hun unieke kenmerken!
Meer lezen over Programmeren? Klik hier voor de inhoudsopgave voor alle artikelen!

©SamRain
JavaScrit -4

Geen opmerkingen:

Een reactie posten