In deze cursus leer je op objectgeoriënteerd wijze programma’s te ontwerpen en te implementeren. Dit betekent dat:
- Je een nieuw programma kunt opzetten, een bestaand (al dan niet objectgeoriënteerd) programma kunt uitbreiden of herstructureren, dit alles op een objectgeoriënteerde wijze.
- Je gebruikt hierbij klassen en encapsulatie om het programma op te splitsen in delen waarbij de onderlinge afhankelijkheid geminimaliseerd is. Een voorbeeld van minimalisatie is de strikte scheiding tussen de toestand van een programma en de interactie met de gebruiker.
- Je gebruikt hierbij concepten als inheritance en interfaces op zinvolle wijze.
- Je kent het geheugenmodel van Java en kan dat effectief gebruiken (objecten, statics, basic types en basic values, references, etc.).
- Je kunt klassen veralgemeniseren middels generics.
- Je gebruikt enumeratie types, inclusief attributen en methodes, voor zover zinvol.
- Je kent een aantal veelgebruikte datastructuren, waaronder de verschillende collections en bijbehorende iterators en kunt die gemotiveerd toepassen. Je kunt ook zelf een (eenvoudige) recursieve datatypes maken en gebruiken.
- Je kent de in de cursus besproken software design patterns in Java, herkent waar deze gebruikt kunnen worden en past ze vervolgens correct toe.
- Je kunt UML gebruiken bij het ontwerp van een objectgeoriënteerd programma en efficiënt schakelen tussen de specificatie in UML en de implementatie in Java.
- Met JUnit kun je effectieve tests voor klassen implementeren.
- Je kunt een GUI bouwen met behulp van een objectgeoriënteerd framework.
- Je kunt een programma opdelen in threads, deze threads synchroniseren om race-condities te vermijden op een dusdanige wijze dat er geen deadlocks op kunnen treden
|
 |
|
Objecten en hun relaties geven een conceptueel raamwerk dat zowel voor analyse, ontwerp als voor implementatie gebruikt kan worden. In deze cursus leer je de beginselen van het OO analyseren (OOA) en ontwerpen (OOD). Je leert ook deze ontwerpen te realiseren in een objectgeoriënteerd programma.
Abstractie en encapsulatie zijn de belangrijkste eigenschappen van het object-georiënteerde paradigma. Via deze concepten geeft men een voorstelling van het gedrag en de structuur van een object los van zijn realisatie. Deze cursus is gericht op het ontwikkelen van objectgerichte ontwerp- en programmeervaardigheden. De programmeertaal die gebruikt wordt is Java. In deze taal staat het begrip klasse centraal. Een klasse is een blauwdruk voor de objecten. Deze bestaat uit attributen (de toestand van het object) gebundeld met operaties (de zogeheten methoden) waarmee we een object kunnen bewerken. |
|