Upload
jeri
View
40
Download
1
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
@ Leena Lahtinen 10.1.2006
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
– Se suoritetaan itsenä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
metodi 1 ( ohjelman logiikka)
metodi 2
metodi 3
KUTSU …
KUTSU …
METODIN KUTSUTEKNIIKKA
LUOKKA
@ 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ä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 10.1.2006
METODI
METODIT JA TIEDONVÄLITYS
TIEDONVÄLITYKSEN VAIHTOEHDOT:
1. Tiedonvälitystä ei ole ollenkaan2. Vain kutsuja välittää tietoa metodiin3. Vain metodi palauttaa yhden tiedon kutsujalle4. 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
- kutsulausessa ei 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 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 10.1.2006
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 10.1.2006
2). 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 10.1.2006
METODI
3). kutsulause, jossa on mukana metodin paluuarvon vastaanottavan muuttujan nimi
UML: 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 nimi
UML: 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:
a) metodin esittely kertoo metodin nimen
b) suluissa on tiedonvälitysparametrien esittely
c) 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 void metodi ( )
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 (m1 N3, m2 AN30)
Java: static void metodi (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 int metodi ( )
@ Leena Lahtinen 10.1.2006
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 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 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 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
METODIEsimerkkiohjelma:
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) ;
}}