1
Objecttechnieken
- De algemene principes van objectmodellering en programmeren.
- Abstractie en inkapseling: interfaces.
- De verschillende vormen van overerving, polymorfisme.
- Inleiding tot UML-modellering: het statische model, het dynamische model, het samenwerkingsmodel, scenario's.
Praktisch werk
De UML-specificatie van een casestudy, die een van de uitgangspunten zal zijn van de volgende oefeningen.
2
Basis taalconstructies
- Variabelen: declaratie en typering.
- Velden definiëren.
- Methoden: definitie.
- Uitdrukkingen.
- Controle-instructies: voorwaardelijke, lus- en vertakkingsinstructies.
- Tabellen.
- Opgesomde types, autoboxing.
- Compilatie-eenheden en pakketten: controle op zichtbaarheid van klassen, importmechanisme.
- Statische invoer.
Praktisch werk
Een reeks eenvoudige oefeningen om de ontwikkelomgeving onder de knie te krijgen en een eenvoudig programma te maken. Gebruik van pakketten.
3
Klassen definiëren en instantiëren
- Klassen en objecten.
- Velden en methoden.
- Constructors.
- Zelfverwijzing.
- Statische velden en methodes.
- Methoden met een variabel aantal argumenten.
- Methodologische aspecten: klasontwerp.
Praktisch werk
De casestudy programmeren.
4
De erfenis
- De verschillende vormen van overerving: uitbreiding en implementatie.
- Interfaces en interface-implementatie. Polymorfisme en de implementatie ervan.
- Uitbreiding. Afgeleide klassen, constructors en referenties definiëren. Methodologische aspecten.
- Klassenhiërarchieën bouwen. Codes factoriseren: abstracte klassen.
- Gelijktijdig gebruik van implementatie en uitbreiding. Abstracte klassen.
- Methodologische aspecten: constanten groeperen, diensten specificeren.
- Klassehiërarchieën en interfaces bouwen.
- Algemeenheid.
Praktisch werk
Het ontwerpen en bouwen van een hiërarchie van klassen en interfaces. Polymorfisme en genericiteit implementeren in de casestudy.
5
Uitzonderingen
- Blokken proberen, uitzonderingen genereren.
- Het selectiealgoritme catch().
- Methodologische aspecten: een uitzonderingshiërarchie opbouwen, uitzonderingen gebruiken.
Praktisch werk
Introductie van uitzonderingen in de casestudy.
6
Invoer/uitvoer-programmering
- De hiërarchie van invoer-/uitvoerklassen.
- Een paar klassen voor het manipuleren van bestandssystemen.
- Enkele invoer/uitvoer klassen die werken op byte streams en Char streams.
- Toetsenbordinvoer/uitvoer.
Praktisch werk
Bestanden lezen/schrijven.
7
Grafisch programmeren
- Basisbegrippen: de principes van visualisatie en gebeurtenisbeheer sinds jdk1.1.
- Grafische componenten bekijken: containers en lay-outs.
- Sommige grafische onderdelen: labels, knoppen, tekstzones.
- Gebeurtenisbeheer: Listeners en adapters. Handlers koppelen aan grafische componenten.
Praktisch werk
Een GUI bouwen.
8
Enkele utiliteitsklassen
- Systeemklassen.
- Containerklassen.
Praktisch werk
Implementatie van utiliteitsklassen.