Ü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
-
Koostada klassi Element jaoks meetod toString()
nii, et antud elemendiga algava ahela lülide nimed on tulemuses komadega
eraldatult.
-
Muuta prgrammi Ahelad.java nii, et uue elemendi
lisamine ahelasse toimuks pistemeetodil (elemendid peavad ahelas olema
nime leksikograafilise mittekahanemise järjekorras).
-
Kuidas muuta lisamismeetodit nii, et olemasoleva nimega elementi
ei lubataks lisada (kes oskab, tekitagu vastav erind, exception).
-
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/