@ Leena Lahtinen 10.1.2006 OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.

Slides:



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

15. Loogiset operaatiot.
@ Leena Lahtinen Helia Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE.
Koostumussuhde Jukka Juslin © Jukka Juslin.
6. Metodit.
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
Ohjelman perusrakenteet
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Jukka Juslin Poikkeukset ja niiden paikallistaminen * Jukka Juslin * Liittyy oppikirjan lukuun 11.
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
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
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ VARTEN.
Yksinkertaiset graafiset syöttö- ja tulostustoiminnot.
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.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
Ohjelman perusrakenteet
TIETO JA TIETOKONEOHJELMA TIETOKONEOHJELMA KÄSITTELEE TIETOJA TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA MENETELMILLÄ.
© 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.
String-vertailusta ja Scannerin käytöstä (1/2)
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.
19. Olio-ohjelmointia Javalla
Kuinka niitä käsitellään
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.
Näppäimistöltä lukeminen Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In -luokka.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
@ Leena Lahtinen Toistorakenne Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin Toisto noudattaa sille kuuluvia tarkkoja standardoituja.
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
2. Lisää Java-ohjelmoinnin alkeita
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
Kontrollirakenteet laajemmin
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.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
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.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Tiedostot. 8.2 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen.
String-vertailusta ja Scannerin käytöstä (1/2)
5. Kapselointi.
1. Omat operaatiot.
Kuinka niitä käsitellään
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
Aakkosnumeerinen tieto
Aakkosnumeerinen tieto
6. Metodit.
4. Attribuutit.
Ohjelman perusrakenteet
TIETO JA TIETOKONEOHJELMA
3. Attribuutit.
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
Esityksen transkriptio:

@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT

@ Leena Lahtinen LUOKKA JAVA - sovellus koostuu luokista Luokka sisältää attribuutteja ja metodeja Ohjelmassa pitää olla yksi luokka, joka sisältää main - metodin

@ Leena Lahtinen LUOKKA Luokka muodostetaan jotain tiettyä tarkoitusta varten Luokan avulla hoidetaan ko. luokan attribuuttien arvojen käsittely Luokan attribuuttien arvojen käsittely tapahtuu metodien avulla Osio 1 käsittelee vain yhden luokan metodeja

@ Leena Lahtinen METODI METODIN MERKITYS – Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus –Se suorittaa siis jonkin rajatun tehtävän –Se suoritetaan itsenäisesti omana toimenpide kokonaisuutenaan

@ Leena Lahtinen METODI METODIN SUORITUS –Suoritus tapahtuu kutsumalla metodia suoritettavaksi tällöin ohjelman kontrolli eli ohjelman kulku siirtyy suorittamaan metodiin kirjoitetut toimenpiteet tämän jälkeen kontrolli palaa takaisin kutsukohtaan

@ Leena Lahtinen METODI metodi 1 ( ohjelman logiikka) metodi 2 metodi 3 KUTSU … METODIN KUTSUTEKNIIKKA LUOKKA

@ Leena Lahtinen METODI ATTRIBUUTIT JA MUUTTUJAT LUOKAN ATTRIBUUTIT –attribuutit ovat luokan tietoja (vrt. muuttujia) –ne ovat käytössä koko luokan sisällä kaikissa metodeissa LUOKAN ATTRIBUUTIT ja MUUTTUJAT –metodi käsittelee luokan attribuutteja –metodilla voi olla myös omia muuttujia, jotka ovat vain metodin käytössä

@ Leena Lahtinen METODI METODIT JA TIEDONVÄLITYS –Metodien käytössä eli kun siitä kutsutaan suoritukseen, on tärkeänä osana tiedonvälitys –Tiedonvälitys tapahtuu kutsuvan ja kutsuttavan ohjelman osan välillä

@ Leena Lahtinen METODI METODIT JA TIEDONVÄLITYS - TIEDONVÄLITYSPARAMETRIT Metodin kutsulauseessa on mukana yleensä tiedonvälitysparametreja eli tavallisia muuttujanimiä Tiedonvälitysparametrien arvot sijoittuvat metodissa esiteltyjen vastaanottavien muuttujien arvoiksi Tiedonvälitysparametrien ja vastaanottavien muuttujien tulee olla tietotyypiltään täysin samanlaiset, sillä vain silloin tiedonvälitys onnistuu (vrt. sijoitus)

@ Leena Lahtinen METODI METODIT JA TIEDONVÄLITYS - TIEDONVÄLITYSPARAMETRIT Tiedonvälitysparametrien järjestys kutsulauseessa noudattaa aina metodin vastaanottokykyä Kutsuttaessa metodia asetetaan kutsulauseessa tiedonvälitysparametrit siis oikeaan järjestykseen Metodin esittelylauseesta nähdään miten metodi ottaa tietoa vastaan

@ Leena Lahtinen METODI METODIT JA TIEDONVÄLITYS TIEDONVÄLITYKSEN VAIHTOEHDOT: 1.Tiedonvälitystä ei ole ollenkaan 2.Vain kutsuja välittää tietoa metodiin 3.Vain metodi palauttaa yhden tiedon kutsujalle 4.Kohdat 2 ja 3 ovat molemmat mukana kutsussa

@ Leena Lahtinen METODI METODIT JA TIEDONVÄLITYS 1.Tiedonvälitystä ei ole ollenkaan - kutsulauseessa ei lähetä tietoa metodiin - eikä metodi lähetä paluuarvoa takaisin

@ Leena Lahtinen METODI METODIT JA TIEDONVÄLITYS 2.Tiedonvälitys vain ohjelmasta metodiin - vain kutsulauseessa lähetetään tietoja metodiin - metodi ei lähetä paluuarvoa takaisin

@ Leena Lahtinen METODI METODIT JA TIEDONVÄLITYS 3. Vain metodi lähettää paluuarvon kutsujalle - kutsulausessa ei lähetä tietoa metodiin - metodi lähettää yhden paluuarvon takaisin

@ Leena Lahtinen METODI METODIT JA TIEDONVÄLITYS 4.Tiedonvälitys tapahtuu molempiin suuntiin - kutsulauseessa lähettää tietoja metodiin - metodi lähettää yhden paluuarvon takaisin

@ Leena Lahtinen METODI METODIN KUTSULAUSE Kutsulauseen kirjoitusasu: metodin kutsulauseessa on metodin nimi sekä suluissa niiden tiedonvälitysparametrien nimet, joiden arvot halutaan lähettää metodiin jos mukana on myös paluuarvon vastaanotto, niin kutsulauseeseen otetaan mukaan vastaanottava muuttujanimi sekä sijoitusoperaattori =

@ Leena Lahtinen METODIN KUTSULAUSE Neljä esimerkkiä kutsulauseesta: 1). kutsulause, jota käytetään silloin, kun tiedonvälitystä ei ole ollenkaan UML: KUTSU metodi ( ) Java: metodi () ; METODI

@ Leena Lahtinen ). kutsulause, jossa on mukana suluissa niiden tiedonvälitysparametrien nimet, joiden arvot sijoittuvat metodiin UML: KUTSU metodi (tp1, tp2 ) Java: metodi (tp1,tp2) ; METODI

@ Leena Lahtinen METODI 3). kutsulause, jossa on mukana metodin paluuarvon vastaanottavan muuttujan nimi UML: vastottava = KUTSU metodi ( ) Java: vastottava = metodi () ;

@ Leena Lahtinen METODI 4). kutsulause, jossa on mukana suluissa tiedonvälitysparametrien nimet ja paluuarvon vastaanottavan muuttujan nimi UML: vastottava = KUTSU metodi (m1, m2 ) Java: vastottava = metodi (m1, m2) ;

@ Leena Lahtinen METODI METODIN ESITTELY – metodi alkaa aina metodin esittelyllä – esittely sisältää kolme osaa: a)metodin esittely kertoo metodin nimen b)suluissa on tiedonvälitysparametrien esittely c)esittely kertoo myös paluuarvon tietotyypin

@ Leena Lahtinen METODI METODIN ESITTELY 1). Metodin esittelylause, johon ei liity tiedonvälitystä UML: metodi ( ) Java: static void metodi ( ) Huom ! esittely ei pääty puolipisteeseen !

@ Leena Lahtinen METODI METODIN ESITTELY 2). Metodin esittelylause, jossa on kaksi muuttujanimeä tiedon vastaanottoa varten ( tiedonvälitysparametrit) UML: metodi (m1 N3, m2 AN30 ) Java: static void metodi (int m1, String m2)

@ Leena Lahtinen METODI METODIN ESITTELY 3). Metodin esittelylause, jossa näkyy vain paluuarvon tyyppi UML: metodi ( ) N3 Java: static int metodi ( )

@ Leena Lahtinen METODI METODIN ESITTELY 4). Metodin esittelylause, jossa on mukana kaikki tiedonvälitys vaihtoehdot UML: metodi (luku N5) AN20 Java: static String metodi (int luku)

@ Leena Lahtinen METODI METODIN PALUUARVO –Metodi palauttaa vain yhden tiedon paluuarvona kutsuvalle ohjelmalle –Paluuarvo sijoittuu kutsulauseessa olevan vastaanottavan muuttujan sisällöksi

@ Leena Lahtinen METODI METODIN PALUUARVO PALUUARVON PALAUTUS: UML – kaaviossa käytetään sanaa palauta ja muuttujanimi Javassa käytetään sanaa return ja sanan yhteydessä ilmoitetaan suluissa sen muuttujan nimi, jonka sisältö palautetaan kutsujalle (arvo sijoittuu siis kutsulauseessa olevan muuttujan arvoksi)

@ Leena Lahtinen METODI METODIN PALUUARVO – Paluuarvon lähetyslause: - metodi palauttaa paluuarvon, esimerkiksi sukunimen: UML: palauta (sukunimi) Java: return (sukunimi) ;

@ Leena Lahtinen METODI Esimerkkiohjelma: import java.util.Scanner; public class Ohjelma { public static void main (String [ ] args) { Scanner input = new Scanner (System.in) ; int a, b ; System.out.println (”Anna luku”) ; a = input.nextInt () ; b = vahenna (a) ; System.out.println (”Vähensin yhden, tulos on ” + b) ; } static int vahenna (int a) { a = a – 1 ; return (a) ; }