Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Harjoitustyö.

Samankaltaiset esitykset


Esitys aiheesta: "Harjoitustyö."— Esityksen transkriptio:

1 Harjoitustyö

2 Harjoitustyö Työ tehdään pääosin itse.
Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ tehdään pääosin itse. Ideoita voi vaihtaa – koodia ei. Henkilökohtaista ohjausta mikroluokissa. Ohjaajilta voi kysyä sähköpostilla. Palautus WETO-järjestelmään noin kahden kuukauden kuluttua. Testaus automaattisesti julkisilla ja salaisilla testeillä. Palautustakarajaksi on vahvistunut perjantai Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

3 Harjoitustyö Perjantaina on välipalautuspiste, johon mennessä täytyy palauttaa WETOon harjoitustyön Javalla toteutettu luokkahierarkia ja suunnitelma työn rakenteesta (luokat, rajapinnat ja näiden väliset suhteet) UML-luokkakaaviona. WETO auttaa opettajaa tarkistamalla koodia automaattisesti. Tarkka tehtävänanto julki tällä viikolla. Varaa työlle aikaa, aloita ajoissa ja tee työtä säännöllisesti. Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

4 Komentoikkuna Komentoikkunassa vuoro- vaikutetaan käyttö-järjestelmän kanssa tekstuaalisesti komentoja kirjoittamalla. Moni komento liittyy tiedostojärjestelmään. Esimerkiksi cd-komennolla voidaan vaihtaa hakemistoa. Tiedostojärjestelmä on organisoitu hakemistopuuksi. Hakemisto (kansio) voi sisältää tiedostoja ja muita hakemistoja. / pics temp memo_backup.txt cats ceiling_cat.gif dangerous_kitten.jpg dogs worlds_ugliest_dog.jpg Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

5 Luokista Tiedostojärjestelmän sisältöä mallinnetaan konkreettisilla Tiedosto- ja Hakemisto-luokilla. Tiedostolle on ominaista sen koko tavuina (int, ≥ 0). Hakemistolla on lista, josta on viitteet hakemiston sisältämiin tiedostoihin ja muihin hakemistoihin. Lisäksi hakemistosta on viite ylihakemistoon. (Juurihakemiston ylihakemistoviite on null-arvoinen.) Keskinäisillä viitteillä yhdistetyt oliot muodostavat hakemistopuun. Puussa voidaan liikkua ylös ja alas viitteitä seuraamalla. Edellisen kalvon hakemistopuu viitteiden yhdistäminä olioina. Soikot ovat hakemisto-olioita ja suorakaiteet tiedosto-olioita. null / pics temp cats dogs memo_backup.txt ceiling_cat.gif worlds_ugliest_dog.jpg dangerous_kitten.jpg Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

6 Luokista Tee Tiedosto- ja Hakemisto-aliluokille abstrakti Tieto-yliluokka, jossa on yhteinen tieto eli nimi (StringBuilder). Kapseloi luokat ja korvaa luokissa toString-metodi ketjuttaen. Korvaa yliluokassa equals-metodi ja toteuta siinä Comparable-rajapinta. Vertailu tapahtuu String-luokan metodeilla. Tee kopiorakentajat Tiedosto- ja Tieto-luokille. Nimi syväkopioidaan. Hakemisto-luokan on toteutettava opettajan antama rajapinta. Sijoita luokkahierarkia tiedot-nimiseen pakkaukseen. Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

7 Luokista Peri LinkitettyLista-luokasta OmaLista-luokka.
Listaan on kirjoitettava ainakin opettajan antamassa rajapinnassa määritellyt uudet listaoperaatiot. Operaatioiden on oltava “puhtaita”: niissä ei saa esiintyä Tieto-tyyppiä. Esimerkiksi alkion lisäys siten, että alkioiden välille muodostuu kasvava järjestys. Hakemisto-luokalla on OmaLista-tyyppinen attribuutti. Listan viitteet liittävät hakemiston sisällön (tiedostot ja alihakemistot) hakemistoon. Tee omat luokat komentojen tulkille ja käyttöliittymälle ja tee erillinen main-metodin sisältävä ajoluokka. Tulkkiluokka toteuttaa komennot hakemistopuuta käsittelemällä. Luokassa on Hakemisto-tyyppinen attribuutti hakemistopuun juurelle. Kaikki käyttäjän antamat tiedot luetaan käyttöliittymässä. Käyttöliittymässä tehdään valtaosa tulostuksista. Pääsilmukan luonteva paikka on käyttöliittymän luokka. Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

8 Tulkin komennot md: luo parametrina annetulla nimellä alihakemiston nykyiseen hakemistoon, jos samannimistä alihakemisto ei jo ole. mf: luo annetun nimisen ja kokoisen tiedoston nykyiseen hakemistoon, jos samannimistä tiedostoa ei jo ole. cd: asettaa työhakemistoksi joko yli- tai alihakemiston, jos voidaan siirtyä. Ylihakemistoon viitataan kahdella pisteellä. Ilman parametria palataan juureen. ls: listaa näytölle annetun nimisen tiedoston tai hakemiston tiedot, jos listauksen kohde löytyy nykyisestä hakemistosta. Listaa nykyisen hakemiston sisällön, jos parametria ei anneta. find: listaa hakemiston rekursiivisesti esijärjestyksessä. rm: poistaa varmistamatta tiedoston tai hakemiston, jos sellainen on nykyhakemistossa. Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

9 Tulkin komennot cp: kopioi tiedoston annetun nimiseksi uudeksi tiedostoksi, jos nimellä löydetään tiedosto nykyhakemistosta ja hakemistossa ei ole vielä uuden nimistä tiedostoa. mv: nimeää tiedoston annetun nimiseksi uudeksi tiedostoksi, jos nimellä löydetään tiedosto nykyhakemistosta ja hakemistossa ei ole vielä uuden nimistä tiedostoa. exit: lopetaa ohjelman. Muuta: Komentokehotteessa näkyy nykyhakemiston polku. Pienet ja isot kirjaimet katsotaan eri merkeiksi. Nimissä sallitaan vain tietyt merkit. Kaikkiin virheisiin reagoidaan tulostamalla merkkijono ″Error!″. Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

10 Esimerkkiajo Welcome to SOS. />md pics />cd pics /pics/>md cats /pics/>cd cats /pics/cats/>mf ceiling_cat.gif 3677 /pics/cats/>mf dangerous_kiten.jpg /pics/cats/>mv dangerous_kiten.jpg dangerous_kitten.jpg /pics/cats/>ls ceiling_cat.gif 3677 dangerous_kitten.jpg /pics/cats/>cd .. /pics/>md dogs /pics/>cd dogs /pics/dogs/>mf world's_ugliest_dog.jpg Error! /pics/dogs/>mf worlds_ugliest_dog.jpg Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

11 Esimerkkiajo /pics/dogs/>cd />ls pics/ 2 />md temp />cd temp /temp/>mf memo.txt 42 /temp/>cp memo.txt memo_backup.txt /temp/>ls memo.txt memo.txt 42 /temp/>ls memo_buk.txt Error! /temp/>ls memo_backup.txt memo_backup.txt 42 /temp/>rm memo.txt /temp/>cd .. Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala

12 Esimerkkiajo />find /pics/ 2 /pics/cats/ 2 /pics/cats/ceiling_cat.gif 3677 /pics/cats/dangerous_kitten.jpg /pics/dogs/ 1 /pics/dogs/worlds_ugliest_dog.jpg /temp/ 1 /temp/memo_backup.txt 42 />exit Shell terminated. Olio-ohjelmoinnin perusteet | Kevät 2017 | Jorma Laurikkala


Lataa ppt "Harjoitustyö."

Samankaltaiset esitykset


Iklan oleh Google