HOOFDSTUK 3: BASIS
3.2 ABSTRACTIE & MODULARISATIE
andere aanpak : probleem aanpakken in deelcomponenten onderscheiden
reden = COMPLEXITEIT
naarmate de omvang van een probleem toeneemt is het steeds lastiger om
alle details ervan tergelijk in de gaten te houden
ABSTRACTIE = mogelijkheid om details van onderdelen te negeren om de
aandacht te richten op een probleem op hoger niveau
oplossing om probleem van compleciteit te doorslaan = ABSTRACTIE
probleem opsplitsen in subproblemen
oplossingen subproblemengebruiken als bouwsteen van de oplossing van
een volgend probleem
MODULARISATIE = proces waarmee iets in goed gedefinieerde delen wordt
opgesplitst die afzonderlijk kunnen worden gebruikt en op goed gedefinierde
manieren kunnen samenwerken
wanneer een module klaar is gebruiken we abstractie we bekijken die
module als een enkel component die kan worden gebruikt om meer complexe
componenten te maken
MODULARISATIE en ABSTRACTIE zijn elkaars COMPONENTEN
Modularisatie : proces waarmee grote dingen (problemen) opgesplitst
worden in kleinere delen
Abstractie : proces waarbij details genegeerd worden en de aandacht
wordt gericht op het grotere geheel
3.3 ABSTRACTIE IN SOFTWARE
Overzicht in complexe programmeerstructuur subcomponenten
onderderscheiden die we als onafhankelijke entiteiten kunnen programmeren
In object-georeinteerd programmeren : componenten en subcomponenten =
objecten
3.5 KLASSEN OPZETTEN
KLASSEN DEFINIEREN TYPES = een klassennaam kan worden gebruikt als
type voor een variabele variabelen die een klasse als hun type hebben,
kunnen objecten van die klasse opslaan
Het type van een veld geeft aan welke soort waarden in het veld opgeslagen
kunnen worden als het TYPE een KLASSE is, kan het veld, objecten van die
klasse bevatten (moet dus wel eerst een object van worden gecreeerd)