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 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, 7 dec. '99.