Met de browsers Netscape en/of Internet Explorer is het mogelijk om elke onderdeel van de browser en de web-page - die je in de browser hebt staan - te ontleden. Elk onderdeel - zoals window, document, frame, image, etc. als object te bekijken. Die laatste soorten objecten bevatten bepaalde verzamelingen properties die je weer verder ergens voor kunt gebruiken.
Met de browser kun je objecten benaderen en properties lezen en schrijven. De naam of de inhoud van een object of een property kun je uit het zgn. object-model halen, maar verder kun je er (nog) niks mee doen. (Met DHTML kun je met properties wel wat doen. Maar binnen dit vak wordt er nog niet met DHTML gewerkt.)
Men kan een object ruim zowel als eng, d.w.z. binnen de precieze kaders uit het OOPS wereldje definieren Bij dit vak en bij dit practicum nemen we de definitie zoals die binnen de browsers geldt:
Zelfs een programma kan binnen de ruimste definitie van object een object zijn.
Elk object heeft binnen een object georiënteerd systeem minimaal een indentificatienummer. Deze identificatienummers worden met ID aangeduid.
Middels de eerste en de laatste definitie kunnen we een groot aantal dingen als objecten onderscheiden, zoals:
Bij dit practicum blijven we de ruimste definitie hanteren:
al die dingen die een naam of een nummer hebben of kunnen hebben noemen we objecten.
Het aanmaken van objecten dient te geschieden op de daarvoor meest
geschikte manier. Ook als elk object een onderdeel is of wordt
van een interactieve multimedium-productie. Dat laatste is heel
belangrijk, want onze stelling is dat praktisch alles wat wij
met ISM onderzoek en onderwijs doen (en wat mij betreft moeten
doen) gericht is op interactieve multimediale leermiddelen. Als
we nog iets aan lineaire leermiddelen doen is dat toch om vroeg
of laat het onderdeel - als object - te integreren in een of
andere interactieve multimediale presentatie. Al is het maar als
onderdeel op een CD-i. Lineaire media als onderzoeks-topic bij
Toegepaste Onderwijskunde is passé. Wij richten ons op
interactieve multimediale programmatuur, op de som der delen,
kortom op de integratie van alle betrokken objecten.
Overerving
Er is een ruime en een enge definitie van overerving. Beiden spelen bij dit vak een rol. De enge definitie is dat een verandering op een hoger hierachisch niveau invloed heeft op alle objecten van een lager niveau. De ruime definitie van overerving is wat botter en eenvoudiger te doorgronden: de overerving van eigenschappen van het ene object naar het andere object gebeurt slechts op het moment van ontstaan. Dat is het beste te begrijpen aan de hand van een voorbeeld van het kopiëren van een file. Als men een file copieert vanuit een bestaande file is de tweede file die dan ontstaat een getrouwe copie van de eerste waaruit hij is ontstaan. Verdere bewerking maakt dat hij/zij gaat afwijken van zijn/haar "moeder". Een dergelijk object is - na een verdere bewerking - uiteindelijk niet meer te vergelijken met het oorspronkelijke object. Elk object gaat zijn eigen leven leiden. Een ander voorbeeld is het kopiëren van een button, incl. het onderliggende script. Als een dergelijke button gecopieerd ('gekloond') is zijn alle "eigenschappen" van de "moeder"-object overgeërfd naar het "dochter"-object. Deze dochter-object of button in dit geval kan verder "gemuteerd" worden door de programmeur. Het is enigszins te vergelijken met een voorbeeld uit de biologie: het klonen van cellen. Na het klonen van cellen kan elke cel afzonderlijk verder voorleven, bestudeerd of verwerkt worden. De eigenschappen zijn overgeërfd. Binnen het OOPS wereldje wenst men ook na de 'geboorte' van objecten dat de eigenschappen op centraal niveau de eigenschappen te kunnen beinvloeden.
Enschede, nov. 2000.