Programmeren in Java met BlueJ David J. Barnes Michael Kölling 2.1 Inhoud van de cursus • Inleiding tot objectgeoriënteerd programmeren… • …met een goed onderbouwde programmeerbasis… • …gericht op het produceren en onderhouden van grote, kwalitatief hoogwaardige softwaresystemen. *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Trefwoorden Ontwerpen op basis van verantwoordelijkheden iteratoren inkapseling overschrijven afhankelijkheid cohesie overerving interface javadoc verzamelingklassen mutator-methoden polymorfe methode-aanroepen *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Doelen • Een goede kennis van programmeerprincipes • Een goede kennis van object-oriëntatie • Kritisch de kwaliteit van een (klein) softwaresysteem kunnen bepalen • Een klein softwaresysteem in Java kunnen implementeren *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Boek David J. Barnes & Michael Kölling Programmeren in Java met BlueJ: Een 'objecten eerst'-benadering Tweede editie, Pearson Education, 2005 ISBN 90-430-0988-1 *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Website De Nederlandstalige website bij dit boek is te vinden op www.pearsoneducation.nl/barnes De Engelstalige website bij dit boek is te vinden op www.mip.sdu.dk/~mik/teaching/se01 Bezoek deze site regelmatig. Op de website vind je aanvullende informatie en aanvullend materiaal. *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Cursusoverzicht (1) Objecten en klassen Klassedefinities Interactie van objecten Objecten groeperen Meer geavanceerd gedrag - bibliotheken Correct werkende objecten - testen, onderhouden, debuggen • Klassen ontwerpen • • • • • • *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Cursusoverzicht (2) • • • • • • Overerving Polymorfisme Uitbreidbare, flexibele klassestructuren Grafische gebruikersinterfaces maken Foutafhandeling Toepassingen ontwerpen *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Demo *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Elementaire concepten • • • • • object klasse methode parameter datatype *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Objecten en klassen • objecten – zijn ‘dingen’ die echt bestaan en aanwijsbaar zijn (zoals bijvoorbeeld 'de rode auto die daar op het parkeerterrein staat') • klassen – zijn een representatie van alle objecten van een bepaalde soort (bijvoorbeeld 'auto') *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Methoden en parameters • In objecten zijn bewerkingen besloten die geactiveerd kunnen worden (die in Java methoden genoemd worden) • methoden kunnen parameters hebben zodat ze met aanvullende informatie uitgevoerd kunnen worden *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Andere waarnemingen • van één klasse kunnen veel instanties gemaakt worden • een object heeft attributen: dit zijn waarden die in velden opgeslagen worden. • de klasse definieert welke velden een object heeft, maar de individuele set waarden (de toestand) van het object wordt in het object zelf opgeslagen) *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Toestand *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Twee cirkel-objecten *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Broncode • Elke klasse bestaat uit broncode (Java-code) waarmee de informatie van de klasse (de velden en methoden) gedefinieerd wordt. *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling * Retourwaarden • Methoden kunnen resultaat retourneren met behulp van een retourwaarde. *Programmeren in Java met BlueJ, een 'objecten eerst'-benadering © David J. Barnes, Michael Kölling *