Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

18. Abstraktit tietotyypit
Minimaalinen Java-ohjelma •Kaikki ohjelmakoodi on luokkamäärityksen sisällä •Ohjelma käynnistyy ”public static void main(String[] args)”-metodista •System.out.print()
6. Metodit.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 13 Monimuotoisuus.
16. Javan omat luokat.
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 6 (osittain) Tiedostot.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Java-perusteet Kari Kujansuu
Ict1td002: Ohjelmointitaito Kertaus Osio 2 - luokat - ilmentymät - viittaus- ja arvomuuttuja - ilmentymien taulukointi HAAGA-HELIA IltaTiko.
Polymorfismi Sisältö Mitä on polymorfismi?
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Tuloksellinen Java-ohjelmointi Luku 9 Taulukot ja perustietorakenteet
© Jukka Harju, 2005 Javan util -pakkaus •Javan util -pakkaus sisältää monia hyödyllisiä luokkia ja rajapintoja. –Kaikki ao luokat ovat pakkauksessa java.util.
Taulukot Jukka Juslin © Jukka Juslin 2006.
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
13. Pakkaukset.
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Yksinkertaiset graafiset syöttö- ja tulostustoiminnot.
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap.
16. Lohkot Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat.
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
9. Periytyminen Javassa.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
7. Oliot ja viitteet.
Java Java on Sun Microsystems yhtiön kehittämä laaja olio-pohjainen ohjelmointikieli, joka on laitteistoriippumaton. Laitteistoriippumattomuudessa on.
Map-luokka Mikä Map on? Mapin esittely ja luonti Map-luokan metodeja Mappiin lisääminen Mapin läpikäynti Mapista poistaminen 1.
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
20. Javan omat luokat.
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Standardi- ja tietorakenneluokkia.
Kuinka niitä käsitellään
1 DataOutputStream ja DataInputStream DataOutputStream:lla voidaan tallentaa perustietotyyppien arvoja binäärimuotoiseen tiedostoon DataInputStream:lla.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
22. Taulukot.
Poikkeukset Yleistä Virheeseen varautuminen tarkoittaa sitä, että ohjelmoija huomioi koodia kirjoittaessaan ajonaikaisen virheen mahdollisuuden.
© Jukka Juslin1 Tiedostot Tuloksellinen Java-ohjelmointi.
17. Kooste Kooste Kooste (aggregation) on luokkien A ja B välinen suhde, joka tarkoittaa “A on B:n osa” tai “A kuuluu B:hen”. − Koostesuhteessa.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet.
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
Java - Tietokanta. JDBC=Java database connectivity  ODBC:n kaltainen ohjelmointiliittymä SQL- tietokantoihin  Koostuu Java-kehitysympäristön (esim.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
Ict02d Johdanto Dynaamiset tietorakenteet –Rakenteiden tilavaraus laajenee/pienenee ajonaikaisesti. –Rakenteita on useita tyyppejä Linkitetty lista Pino.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
14. Poikkeukset Sisällys Johdanto poikkeuksiin. Poikkeusten käsittely: − Poikkeusten käsittely paikallisesti. − Poikkeusten heittäminen. Exception.
Sähköpostin lähetys Java- ohjelmasta Jukka Juslin.
15. Ohjelmoinnin tekniikkaa
Tiedostot. 8.2 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen.
16. Javan omat luokat Sisällys Johdanto. Object -luokka: − toString -, equals -, clone - ja getClass -metodit. Comparable -rajapinta: − compareTo.
Kuinka niitä käsitellään
4. Komentoriviparametrit
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
3. Komentoriviparametrit
16. Javan omat luokat.
4. Attribuutit.
15. Ohjelmoinnin tekniikkaa
3. Attribuutit.
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
Esityksen transkriptio:

Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen tietoja

Olioiden taulukointi class Opintojakso{ private String tunnus; private String nimi; public Opintojakso() {} public Opintojakso(String tunnus, String nimi){ this.tunnus = tunnus; this.nimi = nimi; } public Opintojakso(Opintojakso jakso){ tunnus = jakso.tunnus; nimi = jakso.nimi; } Opintojakso-luokka

Olioiden taulukointi public void setTunnus(String tieto){ tunnus = tieto; } public void setNimi(String tieto){ nimi = tieto; } public String getNimi(){ return nimi; } public String getTunnus(){ return tunnus; } public String toString(){ return (tunnus + ” ” + nimi); } Opintojakso-luokka jatkuu

Olioiden taulukointi class OpintojaksoTaulukointi{ public void aja(){ Opintojakso jakso; Opintojakso [] jaksot = new Opintojakso[3]; String tunnus, nimi; System.out.println(”*** Opintojaksojen taulukointi ***”); for(int i = 0; i< jaksot.length; i++){ tunnus = Input.stringLuku(”Anna tunnus:”); nimi = Input.stringLuku(”Anna nimi:”); jaksot[i] = new Opintojakso(tunnus, nimi); } for(int i = 0; i < jaksot.length; i++){ System.out.println(jaksot[i].toString()); } Opintojaksojen taulukointi

Olioiden taulukointi public static void main (String [] args) { OpintojaksoTaulukointi sovellus = new OpintojaksoTaulukointi(); sovellus.aja(); } Opintojaksojen taulukointi

Taulukoista, käsittelyvinkkejä Taulukon kopiointi sujuu parhaiten java.lang.System.arraycopy() – metodilla Metodin esittely: arraycopy (Object src, int srcPos, Object dest, int destPos, int length) Opintojaksotaulun kopiointi Opintojakso [] kopiot = new Opintojakso[3]; System.arraycopy(opintojaksot, 0, kopiot, 0, 3);

Taulukoista, käsittelyvinkkejä Taulukon lajittelu nousevaan järjestykseen käy yksinkertaisimmin java.util.Arrays – luokan sort-metodilla Metodin esittely: Arrays.sort(lajiteltava taulukko); Huomaa: toimii parhaiten muuttujien ja Stringien lajittelussa

Arraylist –luokka Luokka java.util.ArrayList –Javan luokka ArrayList on linkitetyn listan eräs toteutus. Tärkeimpiä metodeja: –add (ylikuormitettu)lisää elementin listaan –clear tyhjentää listan –contains tutkii löytyykö etsittävä elementti listasta –get palauttaa elementin halutusta positiosta –isEmpty tutkii onko lista tyhjä –remove (ylikuormitettu) poistaa elementin halutusta positiosta tai halutun elementin –set korvaa halutussa positiossa sijaitsevan elementin –size palauttaa listan elementtien lukumäärän Jukka Harju

Iterator-rajapinta Iteraattori on olio, jonka avulla voidaan läpikäydä kokoelma (esim. ArrayList -olio). Iteraattorille on käytettävissä metodit: –hasNext palauttaa arvon true, mikäli kokoelmassa on vielä elementtejä jäljellä –next palauttaa kokoelman seuraavan elementin –remove poistaa viimeksi palautetun elementin kokoelmasta ArrayList -luokan oliolle saadaan luotua iteraattori seuraavasti: ArrayList lista = new ArrayList(); Iterator iter = lista.iterator(); ArrayList -luokan iterator -metodi on peritty yliluokalta AbstractList. Jukka Harju

Opintojaksojen talletus ArrayListiin import java.util.*; class OpintojaksoTaulukointi{ public void aja(){ Opintojakso jakso; ArrayList jaksot = new ArrayList(); String tunnus, nimi; System.out.println(”*** Opintojaksojen taulukointi ***”); tunnus = Input.stringLuku(”Anna tunnus(enter lopettaa):”); while (tunnus.length > 0){ nimi = Input.stringLuku(”Anna nimi:”); jaksot.add(new Opintojakso(tunnus, nimi)); tunnus = Input.stringLuku(”Anna tunnus(enter lopettaa):”); }

Opintojaksojen talletus ArrayListiin Iterator iter = jaksot.iterator(); while(iter.hasNext()) System.out.println((Opintojakso)iter.next()); } public static void main (String [] args) { OpintojaksoTaulukointi sovellus = new OpintojaksoTaulukointi(); sovellus.aja(); }