Ülesandeid

Töökeskkond, transleerimine ja lahendamine

Java-keskkonna installeerimine

Töökeskkonna loomine (kodukataloog, otsimistee jms.)

HelloWeb - programmi sisestamine, kompileerimine ja käivitamine käsurealt

HelloApplet - programmi ja HTML-faili sisestamine, kompileerimine ja käivitamine veebilehelt

HelloFrame - programm, mis töötab nii rakendina kui ka käsurealt

Klassid ja alamklassid

Loomad

Muuta loengul antud programmi Loomad.java, lisades klassi Koer, mis oleks klassi Loom alamklass. Testida toString() meetodi ülekatmist - mis juhtub, kui klassis Koer on meetod toString() üle katmata; üle kaetud? Millised omistamised muutujate minuLoom, minuKass ja minuKoer (igaüks kirjeldatud vastava klassitüübi abil) vahel on lubatud? Mis juhtub muutujate väärtuste väljastamisel igal lubatud kuhul?

Käsurea programmi teisendamine rakendiks

Koostada programmi Loomad.java ning HelloApplet.java alusel uus programm nii, et ta teeks sama töö, mis Loomad, aga oleks vormilt rakend (väljund veebilehele).

Konstruktorid, üledefineeritud konstruktorid

Olgu loomade jaoks defineeritud nimi ja vanus. Olgu koertel (kes on ka loomad) lisaks defineeritud tõug. Koostada klasside Loom ja Koer kirjeldused. Katta neis klassides üle meetod toString() nii, et see annaks maksimaalse teadaoleva informatsiooni.
Programmeerida konstruktorid, mis aktsepteeriksid koerte puhul parameetrikombinatsioone:
parameetrid puuduvad
nimi
nimi, vanus
nimi, vanus, tõug
vanus
vanus, tõug
nimi, tõug
ning loomade puhul parameetrikombinatsioone
parameetrid puuduvad
nimi
vanus
nimi, vanus
Kasutada maksimaalselt juba loodud konstruktoreid this() ja super() abil (mitte dubleerida samu tegevusi erinevates konstruktorites).
Testida kõik variandid.

Lihtahel

  1. Koostada klassi Element jaoks meetod toString() nii, et antud elemendiga algava ahela lülide nimed on tulemuses komadega eraldatult.
  2. Muuta prgrammi Ahelad.java nii, et uue elemendi lisamine ahelasse toimuks pistemeetodil (elemendid peavad ahelas olema nime leksikograafilise mittekahanemise järjekorras).
  3. Kuidas muuta lisamismeetodit nii, et olemasoleva nimega elementi ei lubataks lisada (kes oskab, tekitagu vastav erind, exception).
  4. Lisada klassile Element meetodid nextElement(), mis tagastab Object-tüüpi väärtuse ja hasMoreElements(), mis tagastab boolean-tüüpi väärtuse. Vt. java.util.Enumeration liidest.

Polünoom

AbstrAstendaja AbstrKordaja AbstrLiige ja AbstrPolynoom on liidesed, mis spetsifitseerivad ülesande. Astandaja ja Kordaja on klassid, mis realiseerivad vastavaid liideseid (need on teile eeskujuks). Teil tuleb lisada klassid YksLiige ja Polynoom, mis realiseeriksid vastavaid liideseid. PolTest on näide testist.
Vt. ~jaanus/java/naited/

Gunnar Kudrjavetsi materjalid

http://www.ut.ee/~gunnar_k/oo/oo2.html
http://www.ut.ee/~gunnar_k/oo/oo4.html
http://www.aprote.ee/~gk/oo/