Introduktion til programmering Repetition
dIntProg, F08Repetition.2 dIntProg Sidste forelæsning (12/10) –kort tilbagemelding på evaluering –repetition (ønsker til repetition på webboard) –”juleforelæsning” Afleveringsopgaver –tilbagemelding til Studiekontoret (tirsdag 16/10) –check at jeres opfattelse stemmer overens med instruktorens
dIntProg, F08Repetition.3 Om at lære at programmere Programmering –Anderledes –Svær tankegang Faser –Motivation –Begejstring –Tvivl –Frustration –Eksistensiel krise –Heureka! –Fascination –Kompetencer –Indsigt –Magt over teknologien Tid Begejstring Tid Belastning
dIntProg, F08Repetition.4 Modeldrevet progression (1) AAA Enkeltstående klasse Simpel associering Associeringer til klassen selv B 2 xs 0..1 A xs * Klasser og objekter, tilstand og opførsel Primitive typer og objekttyper, objektreferencer, parametrisering Objektinteraktion, this, interne og eksterne metodekald Kontrolstrukturer: selektion (if), iteration (while, for) Udtryk og operatorer, præcedens Typer og subtyper Collection (List), iterator, udvidet for- løkke Object: toString, identitet og lighed ( == og equals() ) Modellering, specialisering, agregering, associering
dIntProg, F08Repetition.5 Modeldrevet progression (2) AA 0..* asssociering til anden klasse (Associering til) Abstrakt type B 0..1 AB * B * B’B’’ Klassevariabler og –metoder Collections-operationer - reverse(),... - max(), min(), sort(),... Interface, Comparable, Comparator, List, Collection,... Polymorfi, statisk og dynamisk type Diverse: JavaDoc, final, wrapperklasser
dIntProg, F08Repetition.6 ”Kodegenerering” for associering (1) B A 1 class A {... // A-attributter public A( ) {... }... // A-metoder } B b this.b = b; private B b; public void setB(B b) { this.b = b; } class B {... }
dIntProg, F08Repetition.7 ”Kodegenerering” for associering (2) B A * class A {... // A-attributter public A() {... }... // A-metoder } class B {... } import java.util.*; bs = new ArrayList(); private Collection bs; public void addB(B b) { bs.add(b); } public void removeB(B b) { bs.remove(b); }
dIntProg, F08Repetition.8 Generisk klassemodel (A * B) A B * Også skabelon for eksamensprojekter... DNA-register * DNA DNA * AminoAcidResidue Picture * Pixel Animation * Picture RabbitHuntWorld * Piece (Animal or Bush) Playlist * Track Track * Picture...