javabog.dk  |  << forrige  |  indhold  |  næste >>  |  programeksempler  |  om bogen

0 Forord

I denne bog kan du lære tre ting:

Ideen til bogen opstod i efteråret 2000, i forbindelse med at jeg underviste på et kursus i objektorienteret programmering og Java på IT-Diplomuddannelsen på Ingeniørhøjskolen i København. Jeg savnede en lærebog på dansk og gik sammen med Troels Nordfalk og Henrik Tange i gang med at skrive mine egne noter. Det er blevet en praktisk orienteret lærebog, krydret med mindre, men komplette, eksempler.

Størstedelen af bogen (opgaver og avancerede emner er skåret væk) findes også på adressen http://javabog.dk, der frit kan bruges af alle, der vil lære Java. Bidrag til bogen og hjemmesiden er meget velkomne: Skriv til jacob.nordfalk@gmail.com

http://javabog.dk kan du også hente programeksemplerne fra bogen.

0.1 Bogens opbygning

Hvert emne behandles i et særskilt kapitel. Det er i en vis udstrækning muligt, at læse kapitlerne uafhængigt af hinanden.

0.1.1 Veje gennem bogen

Det anbefales at læse kapitel 2, 3, 4 og 5 i rækkefølge. Derefter kan man vælge, om man vil:

Her er en oversigt over kapitlerne (midtersøjle) og hvilke kapitler de forudsætter (venstre søjle). Hvis et kapitel er forudsat i parentes, betyder det, at visse eksempler eller opgaver forudsætter det, men man kan godt klare sig uden.

Forudsætter

Kapitelnummer og -navn

Er nødvendig for


2 Basal programmering

Alle efterfølgende

2

3 Objekter

Alle efterfølgende

3

4 Definition af klasser

Næsten alle efterfølgende

4

5 Nedarvning

Næsten alle efterfølgende



Valgfrie emner

4

6 Pakker

Ingen

4

7 Lokale, objekt- og klassevariabler

Ingen

3 (5)

8 Arrays

Ingen



Grafik og brugergrænseflader (klient-programmering)

3 (5)

9 Grafiske programmer

11

9

10 Appletter

Ingen

9 (5)

11 Grafiske komponenter

13

5

12 Interfaces - grænseflade til objekter

13, 17, 18, 19, 21

11, 12

13 Hændelser i grafiske brugergrænseflader

21



Filer og netværk (server-programmering)

4 (5)

14 Exceptions og køretidsfejl

15

14

15 Datastrømme og filhåndtering

16 + 18

15

16 Netværkskommunikation




Videregående emner

12 (16)

17 Flertrådet programmering

Ingen

15 (12)

18 Serialisering af objekter

19

12, 18

19 RMI - objekter over netværk

Ingen

14

20 JDBC - databaseadgang

Ingen

5, 12 (13, 17)

21 Avancerede klasser

Ingen

5

22 Objektorienteret analyse og design

Ingen

0.1.2 Kapitlernes opbygning

Hvert kapitel starter med en oversigt over indholdet og hvilke andre kapitler det forudsætter, sådan at man altid har overblik over, om man har de nødvendige forudsætninger.

Så kommer hovedteksten, der introducerer emnerne og kommer med programeksempler, hvor de anvendes.

De fleste kapitler har herefter

  • Test dig selv, hvor man kan afprøve, om man har fået fat i de vigtigste ting i kapitlet.

  • Resumé, som i kort form repeterer de vigtigste ting.

  • Appendiks giver en komplet oversigt over de fakta, som relaterer sig til kapitlet.
    Det er beregnet til at blive læst sammen med kapitlet, men er også velegnet til senere opslag.

  • Avanceret, der handler om de mere avancerede ting i relation til kapitlets emne.
    Avancerede afsnit kan springes over ved første læsning, men kan være nyttige at kigge på senere hen. Resten af bogen forudsætter ikke, at man har læst de avancerede afsnit.

0.2 Til underviseren

Denne bog koncentrerer sig om OOP og Java i praksis. Den starter med det helt grundlæggende og kommer i avanceret-afsnittene til bunds i mange aspekter af stoffet. I OOP går den "hele vejen" og får dækket klasser og objekter, indkapsling, arv og polymorfi.

Der er mange måder at undervise i Java på og bogen giver mulighed for, at underviseren selv vælger, hvilken del af stoffet, han vil lægge vægt på i sit kursus:

  • Objektorienteret programmering: kapitel 2, 3, 4, 5 og derefter 9, 11, 12, 13 (kapitel 7 om klassevariabler kan komme sent i kurset, så eleverne ikke fristes til at bruge dem som "globale variabler").

  • Strukturel programmering: kapitel 2, dernæst dets avanceret-afsnit om do-while, switch, tastaturindlæsning og klassemetoder, kapitel 3 om brug af objekter, kapitel 8 om arrays, kapitel 4 om klasser, kapitel 7 om klassevariabler.

  • Sproget Java: kapitel 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 osv. i rækkefølge.

  • Hurtigt i gang med at lave grafiske programmer: kapitel 2, det meste af 3 og derefter 9, 11 og 13 om grafik, grafiske standardkomponenter og hændelser.

Bogen er egnet til kursusbrug. Der findes specielle projekter til udviklingsværktøjet BlueJ, der mange steder bruges til at støtte eleven i at komme i gang med objektorienteret programmering (se afsnit 1.3.2 og afsnit 4.10.1).

Der findes en gratis samlet pakke, hvor underviseren får:

  • præsentationer, der supplerer bogen

  • forslag til lektionsplan og opgaver

  • vejledende opgavebesvarelser

Skriv til jacob.nordfalk@gmail.com, hvis du holder et kursus og er interesseret i undervisningspakken.

0.3 Ændringer i femte udgave

I de seneste år har jeg samlet på rettelser, kommentarer og forslag til bogen og derudover selv undervist i den. Rettelserne og forbedringerne er ført ind i femte udgave, som også er opdateret til moderne sprogbrug på en række punkter.

  • Omfatter de vigtigste ændringer i Java 7, såsom strenge i switch og forbedret try-catch

  • Opremsninger/enumerations behandles

  • Kapitel 4 har fået et større casestudium (Billetautomat)

  • Kapitel 5, Nedarvning er blevet opdateret til bedre at afspejle moderne praksis mht. indkapsling og get- og set-metoder

  • Kapitel 11 er blevet revideret og fået tilføjet afsnit 11.4.5, Egne paneler som komponenter.

0.4 Tak

Min bror Troels' kritik og bidrag har været uundværlige og bogen afspejler mange af hans holdninger (som også er blevet mine) om objektorienteret programmering. Tak til Henrik Tange, Jakob Bendsen, Jan Schoubo og andre, som har ladet mig bruge deres materiale. Tak til Torben Vaarby Laursen for at læse faglig korrektur på manuskriptet til 1. udgave.

Mange tak til de mange der har skrevet til mig i tidens løb og påpeget fejl.

Denne bog er skrevet på open source med LibreOffice og OpenOffice.org på Linux. Tak til Linux-samfundet for at lave et styresystem, der styrer!

Og tak til min kære kone, Anne Mette, for hendes støtte og forståelse.

Bonan plezuron legi la libron!
(det er esperanto og betyder "god fornøjelse med at læse bogen")

Jacob Nordfalk

Valby, december 2013.

javabog.dk  |  << forrige  |  indhold  |  næste >>  |  programeksempler  |  om bogen
http://javabog.dk/ - Forord af Jacob Nordfalk.
Licens og kopiering under Åben Dokumentlicens (ÅDL) hvor intet andet er nævnt (79% af værket).

Ønsker du at se de sidste 21% af dette værk (267325 tegn) skal du købe bogen. Så får du pæne figurer og layout, stikordsregister og en trykt bog med i købet.