290 likes | 443 Views
OHJELMAN OSITTAMINEN. LUOKKA ATTRIBUUTIT METODIT. LUOKKA. JAVA - sovellus koostuu luokista Luokka sisältää attribuutteja ja metodeja Ohjelmassa pitää olla yksi luokka, joka sisältää main - metodin. LUOKKA. Luokka muodostetaan jotain tiettyä tarkoitusta varten
E N D
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT @ Leena Lahtinen 10.1.2006
LUOKKA • JAVA - sovellus koostuu luokista • Luokka sisältää attribuutteja ja metodeja • Ohjelmassa pitää olla yksi luokka, joka sisältää main - metodin @ Leena Lahtinen 10.1.2006
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 10.1.2006
METODI • METODIN MERKITYS • Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus • Se suorittaa siis jonkin rajatun tehtävän • Sesuoritetaanitsenäisesti omana toimenpide kokonaisuutenaan @ Leena Lahtinen 10.1.2006
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 10.1.2006
METODI METODIN KUTSUTEKNIIKKA LUOKKA metodi 1 ( ohjelman logiikka) metodi 2 KUTSU … metodi 3 KUTSU … @ Leena Lahtinen 10.1.2006
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 10.1.2006
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 10.1.2006
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 10.1.2006
METODI METODIT JA TIEDONVÄLITYS- TIEDONVÄLITYSPARAMETRIT • Tiedonvälitysparametrien järjestyskutsulauseessa 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 10.1.2006
METODI METODIT JA TIEDONVÄLITYS TIEDONVÄLITYKSEN VAIHTOEHDOT: • Tiedonvälitystä ei ole ollenkaan • Vainkutsuja välittää tietoa metodiin • Vainmetodi palauttaa yhden tiedon kutsujalle • Kohdat 2 ja 3 ovat molemmat mukana kutsussa @ Leena Lahtinen 10.1.2006
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 10.1.2006
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 10.1.2006
METODI METODIT JA TIEDONVÄLITYS 3. Vain metodi lähettää paluuarvon kutsujalle- kutsulausessaei lähetä tietoa metodiin- metodi lähettää yhden paluuarvon takaisin @ Leena Lahtinen 10.1.2006
METODI METODIT JA TIEDONVÄLITYS 4. Tiedonvälitys tapahtuu molempiin suuntiin - kutsulauseessa lähettää tietoja metodiin - metodi lähettää yhden paluuarvon takaisin @ Leena Lahtinen 10.1.2006
METODI METODIN KUTSULAUSEKutsulauseen kirjoitusasu: • metodin kutsulauseessaon metodinnimi • 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 10.1.2006
METODI METODIN KUTSULAUSE Neljä esimerkkiä kutsulauseesta:1).kutsulause, jota käytetään silloin, kun tiedonvälitystä ei ole ollenkaan UML:KUTSU metodi ( )Java: metodi () ; @ Leena Lahtinen 10.1.2006
METODI 2).kutsulause, jossa on mukana suluissa niidentiedonvälitysparametrien nimet, joiden arvot sijoittuvat metodiin UML: KUTSU metodi (tp1, tp2)Java: metodi (tp1,tp2) ; @ Leena Lahtinen 10.1.2006
METODI 3). kutsulause, jossa on mukana metodin paluuarvon vastaanottavan muuttujan nimiUML: vastottava = KUTSU metodi ( )Java: vastottava =metodi () ; @ Leena Lahtinen 10.1.2006
METODI 4). kutsulause, jossa on mukana suluissa tiedonvälitysparametrien nimet ja paluuarvon vastaanottavan muuttujan nimiUML: vastottava = KUTSU metodi (m1, m2 )Java: vastottava =metodi (m1, m2) ; @ Leena Lahtinen 10.1.2006
METODI METODIN ESITTELY • metodi alkaa aina metodin esittelyllä • esittely sisältää kolme osaa: • metodin esittely kertoo metodin nimen • suluissa on tiedonvälitysparametrien esittely • esittely kertoo myös paluuarvon tietotyypin @ Leena Lahtinen 10.1.2006
METODI METODIN ESITTELY 1).Metodin esittelylause, johon ei liity tiedonvälitystä UML: metodi ( ) Java:static voidmetodi ( ) Huom ! esittely ei pääty puolipisteeseen ! @ Leena Lahtinen 10.1.2006
METODI METODIN ESITTELY 2).Metodin esittelylause, jossa on kaksi muuttujanimeä tiedon vastaanottoa varten (tiedonvälitysparametrit)UML: metodi (m1N3, m2AN30) Java: static voidmetodi (int m1, String m2) @ Leena Lahtinen 10.1.2006
METODI METODIN ESITTELY 3).Metodin esittelylause, jossa näkyy vain paluuarvon tyyppi UML: metodi ( ) N3 Java:static intmetodi ( ) @ Leena Lahtinen 10.1.2006
METODI METODIN ESITTELY 4). Metodin esittelylause, jossa on mukana kaikki tiedonvälitys vaihtoehdot UML: metodi (lukuN5) AN20 Java: static Stringmetodi (int luku) @ Leena Lahtinen 10.1.2006
METODI METODIN PALUUARVO • Metodi palauttaa vain yhden tiedon paluuarvona kutsuvalle ohjelmalle • Paluuarvo sijoittuu kutsulauseessa olevan vastaanottavan muuttujan sisällöksi @ Leena Lahtinen 10.1.2006
METODI METODIN PALUUARVOPALUUARVON PALAUTUS: • UML – kaaviossa käytetään sanaa palauta ja muuttujanimi • Javassa käytetään sanaa return jasanan yhteydessä ilmoitetaan suluissa sen muuttujan nimi, jonka sisältö palautetaan kutsujalle (arvo sijoittuu siis kutsulauseessa olevan muuttujan arvoksi) @ Leena Lahtinen 10.1.2006
METODI METODIN PALUUARVO • Paluuarvon lähetyslause:- metodi palauttaa paluuarvon, esimerkiksi sukunimen: UML: palauta (sukunimi) Java:return (sukunimi); @ Leena Lahtinen 10.1.2006
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) ; } } @ Leena Lahtinen 10.1.2006