Ict1td002: Ohjelmointitaito Kertaus Osio 2 - luokat - ilmentymät - viittaus- ja arvomuuttuja - ilmentymien taulukointi HAAGA-HELIA IltaTiko.

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()
Koostumussuhde Jukka Juslin © Jukka Juslin.
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
Osion kaksi kertaus Jukka Juslin © Jukka Juslin.
6. Metodit.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
16. Javan omat luokat.
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Tuloksellinen Java-ohjelmointi Luku 9 Taulukot ja perustietorakenteet
Taulukot Jukka Juslin © Jukka Juslin 2006.
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
Taulukoiden määrittely, käsittely ja kopiointi Vaihtoehdot taulukoille
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Olio-ohjelmoinnin perusteet luento 3
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap.
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
Olioon kohdistuvia perustoimintoja tMyn1 Olioon kohdistuvia perustoimintoja Kopiointimuodostin (copy constructor) alustaa olion tietojäsenet saman luokan.
Virtuaaliset jäsenfunktiot tMyn1 Virtuaaliset jäsenfunktiot Virtuaalinen jäsenfunktio on esiteltävä monimuotoisessa kantaluokassa. Virtuaalisen jäsenfunktion.
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
7. Oliot ja viitteet.
Luokan määrittely class-määreellä tMyn1 Luokan määrittely class-määreellä Luokan määrittely tarkoittaa luokan tietojäsenten esittelyä ja jäsenfunktioiden.
Map-luokka Mikä Map on? Mapin esittely ja luonti Map-luokan metodeja Mappiin lisääminen Mapin läpikäynti Mapista poistaminen 1.
20. Javan omat luokat.
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.
Hyvä ohjelmointitapa (osa 2) Yleistä Lisää hyviä ohjelmointikäytäntöjä: − Jaa pitkä koodi osiin. − Käytä attribuutteja säästeliäästi.
Olioon kohdistuvia perustoimintoja tMyn1 Olioon kohdistuvia perustoimintoja Kopiointimuodostin (copy constructor) alustaa olion tietojäsenet saman luokan.
22. Taulukot.
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
2. Lisää Java-ohjelmoinnin alkeita
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
© Jukka Harju, Sisältö 1. Mitä on periytyminen Javassa? 2. Periytyminen UML-luokkakaaviossa 3. Termejä 4. Periytymishierarkia 5. Periytyminen vs.
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
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
16. Javan omat luokat Sisällys Johdanto. Object -luokka: − toString -, equals -, clone - ja getClass -metodit. Comparable -rajapinta: − compareTo.
Olio-ohjelmoinista lyhyesti. 2.2 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen.
5. Kapselointi.
6. Metodit.
3. Olio-ohjelmoinista lyhyesti
7. Oliot ja viitteet.
2. Taulukot.
14. Poikkeukset.
Kantaluokan määrittely
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
Kantaluokan määrittely
2. Taulukot.
6. Metodit.
7. Oliot ja viitteet.
16. Javan omat luokat.
4. Attribuutit.
15. Ohjelmoinnin tekniikkaa
7. Näytölle tulostaminen
3. Attribuutit.
14. Poikkeukset.
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
Esityksen transkriptio:

ict1td002: Ohjelmointitaito Kertaus Osio 2 - luokat - ilmentymät - viittaus- ja arvomuuttuja - ilmentymien taulukointi HAAGA-HELIA IltaTiko

HAAGA-HELIA IltaTiko • Luokka määrittelee, millaisesta oliosta on kyse • Luokassa kuvataan olion ominaisuudet ja käyttäytyminen • Olio on luokan ilmentymä • Olion ominaisuus = muuttuja • Olion käyttäytyminen = metodi

HAAGA-HELIA IltaTiko public class Auto{ private String merkki; private String malli; private int mittarilukema; } Esimerkki: Auto-luokan ominaisuudet

HAAGA-HELIA IltaTiko Luokan ilmentymän (olion, objektin) luominen •Olio luodaan käyttämällä varattua sanaa new new Auto(); •Olioita käsitellään viitemuuttujista: Auto annenAuto = new Auto(); •Viite olioon määritellään kuin muuttuja, mutta tyyppi on luokan tyyppi

HAAGA-HELIA IltaTiko Luokan ilmentymän luominen muodostimet •Oletusmuodostin mitä tulee olion String tietoihin? entä numeerisiin tietoihin? •Parametrillinen muodostin/muodostimet •Kopiointimuodostin

HAAGA-HELIA IltaTiko Luokan ilmentymän luominen muodostimet •Muodostin on AINA samanniminen kuin luokka •tyyppi public •Muodostimella ei ole paluuarvoa, vaan sen tehtävänä on luoda luokan ilmentymä

HAAGA-HELIA IltaTiko Ilmentymän muuttujatyyppi Ilmentymät ovat viittaustyyppisiä: viitemuuttuja ja ilmentymä viitemuuttuja Ford Ka

HAAGA-HELIA IltaTiko Viittaustyyppinen ja arvotyyppinen muuttuja int i = 150; int b = 200; i = b; i b i b

HAAGA-HELIA IltaTiko Viittaustyyppinen ja arvotyyppinen muuttuja annenAuto Ford Ka Auto annenAuto = new Auto(”Ford”, ”Ka”, ); uusiAuto Volvo C30 0 Auto uusiAuto = new Auto(”Volvo”, ”C30”, 0);

HAAGA-HELIA IltaTiko Viittaustyyppinen ja arvotyyppinen muuttuja annenAuto Ford Ka ? annenAuto = uusiAuto; uusiAuto Volvo C30 0

HAAGA-HELIA IltaTiko Luokan käyttäytyminen - metodit •get-metodit •set-metodit •toString •lisäksi muita

HAAGA-HELIA IltaTiko Luokka-attribuutit ja ilmentymäattribuutit Ilmentymäattribuutti: public String tiliNumero; Luokka-attribuutti public static double korko; Huomaa: poikkeuksellisesti esimerkin vuoksi attribuutit public-tyyppisiä

HAAGA-HELIA IltaTiko Luokka-attribuutit ja ilmentymäattribuutit Viitataan ilmentymäattribuuttiin: ilmentymänimi.attribuuttinimi tili.tiliNumero Viitataan luokka-attribuuttiin: Luokkanimi.attribuuttinimi Tili.korko

HAAGA-HELIA IltaTiko Ilmentymien taulukointi •Taulukon tyypiksi tulee luokka •Taulukon alkioihin voi tallettaa vain ko.luokan ilmentymiä •Ilmentymiin viitataan taulukon indeksillä •Luokan metodit toimivat normaalisti ilmentymien yhteydessä

HAAGA-HELIA IltaTiko Ilmentymien taulukointi Auto [] autot; autot = new Auto[4]; autot

HAAGA-HELIA IltaTiko Ilmentymien taulukointi autot[0] = new Auto(”Volvo”, ”C30”, 0); autot[1] = new Auto(”Porsche”, ”Carrera 911 Coupe”, 0); autot[2] = new Auto(”Ford”, ”Ka Color”, 0); autot[3] = null; autot Volvo C30 0 Porsche Carrera 911 Coupe 0 Ford Ka Color null 3