@ 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, esimerkiksi LaskeKuukausipalkat Luokan avulla hoidetaan ko. luokan attribuuttien arvojen käsittely Luokan attribuuttien arvojen käsittely tapahtuu metodien avulla
@ Leena Lahtinen METODI METODIN MERKITYS –Metodi on luokan sisällä oleva toimintojen kokonaisuus –Se suorittaa rajatun tehtävän, esimerkiksi tulostaPalkat() –Se suoritetaan itsenäisesti omana kokonaisuutenaan
@ Leena Lahtinen METODI METODIN SUORITUS Suoritus tapahtuu kutsumalla metodia: ohjelman kontrolli eli ohjelman toteutus siirtyy suorittamaan metodiin kirjoitetut toimenpiteet tämän jälkeen palataan takaisin kutsulausetta seuraavaan lauseeseen, esimerkiksi: tulostaPalkat(); System.out.println(”Palkkojen ” + ”yhteissumma: ” + summa);
@ Leena Lahtinen METODI metodi 1 ( luokka, jossa main-metodi) 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ä 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 metodi () ; METODI
@ Leena Lahtinen ). kutsulause, jossa on mukana suluissa niiden tiedonvälitysparametrien nimet, joiden arvot sijoittuvat metodiin metodi (tp1,tp2) ; METODI
@ Leena Lahtinen METODI 3). kutsulause, jossa on mukana metodin paluuarvon vastaanottavan muuttujan nimi vastottava = metodi () ;
@ Leena Lahtinen METODI 4). kutsulause, jossa on mukana suluissa tiedonvälitysparametrien nimet ja paluuarvon vastaanottavan muuttujan nimi 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ä static void metodi ( ) void kertoo että metodilla ei ole paluuarvoa (tyypitön) Huomaa: esittely ei pääty puolipisteeseen !
@ Leena Lahtinen METODI METODIN ESITTELY 2). Metodin esittelylause, jossa on kaksi muuttujanimeä tiedon vastaanottoa varten (tiedonvälitysparametrit) static void metodi (int m1, String m2)
@ Leena Lahtinen METODI METODIN ESITTELY 3). Metodin esittelylause, jossa näkyy vain paluuarvon tyyppi static int metodi ( )
@ Leena Lahtinen METODI METODIN ESITTELY 4). Metodin esittelylause, jossa on mukana kaikki tiedonvälitys vaihtoehdot 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 PALUUARVO: paluuarvo palautetaan return - lauseella. Sen yhteydessä ilmoitetaan suluissa muuttujan nimi, jonka sisältö palautetaan kutsujalle (arvo sijoittuu kutsulauseessa olevan muuttujan arvoksi)
@ Leena Lahtinen METODI METODIN PALUUARVO –Paluuarvon välitys: - metodi palauttaa paluuarvon, esimerkiksi sukunimen: return (sukunimi) ;
@ Leena Lahtinen METODI Esimerkkiohjelma: public class Ohjelma { public static void main (String [ ] args) { int a, b ; System.out.println (”Anna luku”) ; a = Input.intLuku() ; b = vahenna (a) ; System.out.println (”Vähensin yhden, tulos on ” + b) ; } static int vahenna (int a) { a = a – 1 ; return (a) ; }
@ Leena Lahtinen String-tiedon käsittely javan omilla metodeilla equals – metodi tekee eron isoille ja pienille kirjaimille esimerkki Javalla: String kaupunki ; ….. if (kaupunki.equals (”Helsinki”)) { … }
@ Leena Lahtinen –Javassa käytetään esim. equals tai equalsIgnoreCase – metodia, kun verrataan ovatko merkkijonot samat: –equals vertaa kirjoitusasuja ja sisältöjä –equalsIgnoreCase vertaa sisältöjä String-tiedon käsittely javan omilla metodeilla
@ Leena Lahtinen equals – metodi tekee eron isoille ja pienille kirjaimille esimerkki Javalla: String kaupunki ; ….. if (kaupunki.equals (”Helsinki”)) { … } String-tiedon käsittely javan omilla metodeilla
@ Leena Lahtinen equalsIgnoreCase ei tee eroa isoille ja pienille kirjaimille esimerkki Javalla: String kaupunki ; ….. if (kaupunki.equalsIgnoreCase (”Helsinki”)) { … } String-tiedon käsittely javan omilla metodeilla
@ Leena Lahtinen esimerkki Javalla (kaksi muuttujaa): String teksti1, teksti2 ; …. if (teksti1.equals(teksti2)) { … … } String-tiedon käsittely javan omilla metodeilla
@ Leena Lahtinen esimerkki Javalla (kaksi muuttujaa): String teksti1, teksti2 ; …. if (teksti1.equalsIgnoreCase (teksti2)) { … … } String-tiedon käsittely javan omilla metodeilla
@ Leena Lahtinen null – arvo –tekstitietoa voidaan verrata null – arvoon –silloin verrataan onko muuttujan sisältö tyhjä –tässä tilanteessa käytetään vertailuoperaattoria String-tiedon käsittely javan omilla metodeilla
@ Leena Lahtinen Javalla: if (etunimi == null) { …. } String-tiedon käsittely javan omilla metodeilla