Objecttechnieken
- Algemene principes van objectmodellering en -programmering.
- Abstractie en inkapseling: interfaces.
- De verschillende vormen van overerving, polymorfisme.
- Inleiding tot UML-modellering: het statisch model, het dynamisch model, het samenwerkingsmodel, de scenario's.
Praktisch werk
De UML-specificatie van een casestudy die een van de leidraden van de volgende oefeningen zal zijn.
Basisconstructies van de taal.
- Variabelen: verklaringen en typering.
- Definitie van de velden.
- Methoden: definitie.
- Uitdrukkingen.
- Controleverklaringen: voorwaardelijke verklaringen, lusverklaringen, vertakkingsverklaringen.
- Tabellen.
- Opgesomde typen, autoboxing.
- Compilatie-eenheden en pakketten: controle van de zichtbaarheid van de klassen, importmechanisme.
- Statische importen.
Praktisch werk
Een reeks eenvoudige oefeningen om aan de slag te gaan met de ontwikkelomgeving, en om een eenvoudig programma te maken. Gebruik van pakketten.
Definitie en instantiëring van klassen
- Klassen en objecten.
- Velden, methoden.
- Constructeurs.
- Zelfverwijzing.
- Statische velden en methoden.
- Methoden met een variabel aantal argumenten.
- Methodologische aspecten: ontwerp van klassen.
Praktisch werk
Programmering van de casestudy.
Overerving
- De verschillende vormen van overerving: uitbreiding en implementatie.
- Interfaces en interface-implementatie. Polymorfisme en de implementatie ervan.
- Uitbreiding. Definitie van afgeleide klassen, constructeurs, verwijzingen. Methodologische aspecten.
- Constructie van klassehiërarchieën. Codefactorisatie: abstracte klassen.
- Gelijktijdig gebruik van implementatie en uitbreiding. Abstracte klassen.
- Methodologische aspecten: groepering van constanten, specificatie van services.
- Constructie van klasse- en interfacehiërarchieën.
- Genericiteit.
Praktisch werk
Ontwerp en constructie van een klasse- en interfacehiërarchie. Implementatie van polymorfisme en genericiteit in de casestudy.
Uitzonderingen
- Try-blokken, uitzonderingen genereren.
- Het catch()-selectiealgoritme.
- Methodologische aspecten: constructie van een uitzonderingshiërarchie, gebruik van uitzonderingen.
Praktisch werk
Introductie van uitzonderingen in de casestudy.
Input-outputprogrammering
- Hiërarchie van input-outputklassen.
- Enkele klassen voor de bewerking van bestandssystemen.
- Enkele input-outputklassen die op bytestromen, op karakterstromen werken.
- Toetsenbordinput-output.
Praktisch werk
Lezen/schrijven in bestanden.
Grafische programmering
- Basisconcepten: principes van visualisatie en gebeurtenisbeheer vanaf jdk1.1.
- Visualisatie van grafische onderdelen: containers en lay-outs.
- Enkele grafische onderdelen: labels, knoppen, tekstvakken.
- Gebeurtenisbeheer: Listeners en Adapters. Koppeling van managementprogramma’s aan grafische onderdelen.
Praktisch werk
Constructie van een MMI.
Enkele utiliteitsklassen
- Systeemklassen.
- Containerklassen.
Praktisch werk
Implementatie van utiliteitsklassen.