T Ohjelmoinnin peruskurssi Ll :n tentti Tenftiptivl : , laatija: Juha Sorva

Koko: px
Aloita esitys sivulta:

Download "T-106.213 Ohjelmoinnin peruskurssi Ll :n tentti Tenftiptivl : 10.12.2004, laatija: Juha Sorva"

Transkriptio

1 T Ohjemoinnin peruskurssi L :n tentti Tenftiptiv : aatija: Juha Sorva TehtAvd 1 (40 pistetta/o0 Lue seuraavat viittitmdt huoeisesti ja keno ovatko ne totta vai tarua. Anna kussakin kohdassa my6s yhyt seitys/perusteu vastaukseesi. Seityksen toivottu pituus on yksi virke per kohta - tarkoitus ei oe antaa tyhjentiiviia seontekoa kustakin aiheesta vaan dhinnd osoittaa ettd et oe vastannut vain arvaamaa. Jos keksit vditteen todeksi nayteiven esimerkin tai sen taruksi osoittavan vastaesimerkin niin esimerkki riittiid perusteuksi. Kustakin kohdasta saa oikeaa vastauksea viisi pistettai. Jos perusteu puuttuu tai ei oe hyvdksyttiivd jdtivdt pisteet kyseisestd kohdasta saamatta. a Ohjemoija voi miidriteii Java-kietd kiiyttiien itse omia tietotyyppejd (eng. data Ape. b Kun konstruktorie annetaan parametreja pitiis parametriarvot sijoittaa oion kenttien (imentymdmuuttujien eng. fied instance vaiabe arvoiksi. c Jos roimi on kuormitettu (eng. overoaded metodi(nimi niin seuraavat kaksi perdkktiistii koodirivid voivat (ainakin joiain muuttujien arvoia johtaa eri toimi-nimisten metoditoteutusten suorittamiseen this.toimi (Ja e6 bj c; this.toimi (\ila &e dj cj ; d Konstruktorin miidrittey abstraktie uokae voi oa perustetua e Kun tdtii koodinpittkiid yritetitan kayttea se aiheuttaa erddnaisen poikkeusoion (eng. exception syntymisen. String teksti = "kissa" i _ Objec! of io : teksti; + ^ - - r - ^ ^ uga-uf f Okoon ktiytdssii ohjeman kdsitteemiia dataa kuvaava uokka L jonka imentymie hautaan varastoida inkitet$n istaan (eng. inked tisf. Jotta tam6 onnistuisi uokkaan L on isiittdvd tdtd tarkoitusta varten sopiva kenttd (imentymdm u uttuja ; eng. fed in stan ce va i a b e. S Parametrimuuttujat ovat ohjeman rakennetta (uokkakokonaisuutta suunnitetaessa oeeisempia kuin muut paikaiset muuttujat. h Javan graafisissa kiiyttoiittym6kirjastoissakin kiiytetyn tapahtumankiisitteyn (eng. event handing ydinajatus on ett6 aaditaan tapahtumaoioita uovae (tapahtumien tihteenii toimivae uokae aiuokka jossa toteutetaan sopiva tapahtumankuunteijarajapintauokka (esim. ect 1 onli s t ene r. Tehtdvd 2 (20 pistetta/100 Tutustu iitteessd 1 kuvattuun uokkaan Henkio ja vastaa siihen iittyviin osatehtaviin jotka on annettu aa. Kukin osatehtdvd on viiden pisteen arvoinen. Henkiouokan kiiyttiimiid omjnaisuus-uokkaa ei oe tdssi tarkasti kuvattu mutta siitii ei tarvitse tietdit muuta kuin ettii siind on metodi pubic Strins kerronimi tt joka paauttaa ominaisuudenimen. a Luokassa on yksi virhe joka estaa sen jdrkevdn kdytdn. Mistd virheestii on kysymys mitii siitd seuraa ja miten sen voi korjata? (Virhe ei oe teejotaintuntematonta-metodissa. Kirjoita kunkin vastauspaperisi akuun kurssitunnus piiivdys oma nimesi opiskeijanumerosi (sekedsti ja aekirjoituksesi. Eri tehtavie tiissii tehtiviipaperissa uetettuja pistearvoja saatetaan vied muuttaa arvosteun yhteydessii. Tentin arvosanarajat mdiiritetiitn vasta tentin jikeen. Tenttituokset jukaistaan kuukauden sissii tenttipiiivtistii kurssin \ A M/- sivuia ja oman suorituksen arvosteuun voi tutustua eriisessd tiaisuudessa jonka aika ja paikka tuaan mycis imoittamaan kurssisivuia. b Kirjoita Henkito-uokan kerroominai-suus-rtetodin jukinen dokumentaatio. Ts. dokumentoi Henki-ouokan jukinen iitynta mainitun metodin osata. (Jos osaat niin voit kirjoittaa Javadocdokumentaatiokommentin mutta muukin seked esitysmuoto kepaa mainiosti. c Miaisia (Java perus-ap:stakin Oytyvia perusvdineitd apuna kiyttiten henki6uokka voitaisiin toteuttaa k6tevammin tai muuten paremmin kuitenkin muuttamatta uokan jukista iityntiit (eijukista rajapintaa eng. pubic inteiace? Perustee yhyesti. Java AP:n uokkien tai niiden metodien nimid ei oe tarpeen esittiiii. d Metodi reejoraintunrematonta hoitaa hommansa iteratiivisesti. Laadi metoditoteutus joka hoitaa saman tehtdvdn rekursiivisesti. Nimeit metoditoteutuksesi niin ettd antamasi nimi kuvaa paremmin metodin tehtivdd.

2 Tehtivi 3 (28 pistetti/00 Kuvattakoon eriaisia tavaroita uokan Tavara ja sen aiuokkien avua. Tavara-uokka ja pari esimerkkiti sie aadittavista aiuokista on oeeisita ositaan kuvattu iitteessd 2. Oetettakoon ettit aiuokkia on oemassa pajon muitakin kuin iitteessei mainitut vaatekappae ja Kir j a. Samaisessa iitteessd on my6s pari esimerkkid tavaroihin iitt /isfti toiminnoista (metodit maaritaku j etushinta maaritateki j anni.rni jotka on toteutettu tavaroia kuvaavien uokkien ukopuoee. Oetettakoon jdeen etta my6s vastaavia eriaisia tavaroihin kohdistettavia toimintoja on oemassa pajon muitakin kuin iitteessd esitetyt. a Metodeissa maa ri t aku j e tushinta ja maari tateki j annimi esiintyy moemmissa rakenne (i f -e1seif-ese- joka kdy fpi kaikkieriaiset tavaratyypi ja toimiitietya hvaa parametrinsa tavaratyypisti riippuen (muistutus: Javan instanceof-operaattori sevittdd onko oio tiettyii tyyppie vai ei. Kirjoita tavaroita kuvaavista uokista (Tavara Vaatekappae Kirja uusitut versiot sien ettd tavaraoiot osaavat ise huoehtia kujetushinnan ja tekijiin nimen mddrittdmisestd ja tarjoavat tdh:in jukiset metodit eikd kaikkien eri vaihtoehtojen dpikouamiseen if- (tai switch-auseea siis oe tarvetta. (16p b Liitteen ohjemakoodissa toteutettiin tavaroihin iiftyvat toiminnot tavaroita kuvaavien uokkien ukopuoee. Tdmdn tehtdvdn a-kohdassa taas toiminnot toteutettiin ko. uokkiin itseensd. Kumpi nitistii menetteytavoista on enemmen "oio-ohjemoinnin hengen mukainen" ei noudattaa dhemmin oio-ohjemoinnin pditperiaatteita? Perustee yhyesti. (4p Oetetaan ettd ohjeman eri uokkien toteutuksista on vastuussa eri ohjemoijia. Kukin ohjemoija tuntee toisten ohjemoijien aatimista uokista vain niiden jukisen iitynniin (eijukisen rajapinnan eng. pubic interface. c Ajateaan tiannetta jossa ohjemaan hautaan isdt6 uusi tavaratyyppi (uusi Tavara-uokan aiuokka. Vertaa iitteen ohjemakoodin dhestymistapaa ja itse a-kohdassa aadiftua versiota sen suhteen kuinka kiiteviiii tai vaivaoista tiiaisen isdyksen tekeminen on. Perustee vditteesi yhyesti. (4p d Ajateaan tiannetta jossa ohjemaan hautaan isiigi uusi tavaroihin iittyvii toiminto. Vertaa iitteen ohjemakoodin dhestymistapaa ja itse a-kohdassa aadiftua versiota sen suhteen kuinka ktitevdd tai vaivaoista tdaisen isiiyksen tekeminen on. Perustee viitteesi yhyesti. (4p Tehtivd 4 (12 pistettd00 Liitteessti 3 on esitetty tdmiin syksyn uentomateriaaia koskevaa kritiikkia (hieman akuperdisestd muokattuna jonka joku opiskeija dhetti kurssin anonyymin pikapaauteomakkeen kautta. Liitteestii 6ytyvat myds ne uentomateriaain sivut joita kritiikki koskee. Ovatko kirjoittajan esittiimdt faktat kunnossa? Osuuko kritiikki ndhdiiksesi oikeaan (ei onko esimerkissd jotain arveuttavaa vai onko se vddrdssd vai onko totuus jossain sis v6i6? Miksi? Huomaa ettei tarkoitus oe seittitd yeisesti sitii mikii kyseisessd uentomateriaaissa on mieestiisi hyviid tai huonoa vaan ottaa kantaa oheiseen kritiikkiin iittyviin asioihin. Muista kiydd tiyttimdssd kurssikyseyomake kurssisivuia. Kyseyyn vastaamisesta saa 200 harjoitustehtdvipistefts.

3 Liite 1: Henkiouokka. Liittyy tehtdvidn 2 pubic cass Henkio { pubi-c static fina int OMNASUUKSA ENNTAAN = 1000; private Strj-ng nimi; private Henkio isa; private Ominaisuus [ ] ominaisuudet; nrirzafc int ominaisuuksia; pubic Henkio(String nimi Henki'o isa { this.nimi = nimi; this. isa = isa i 1..r.1. ominaisuus[] ominaisuudet: new OminaisuusHenkio.OMNASUUKSA ENNTAAN]; thj-s.ominaisuuksia : 0; pubic Henkio (String nimi { F L ^ / ^ i * \. urj \rrrllrt rrurr / r'ht i e qf-i no kerronimi O { P u v! r u v u! 4 r ^ > t v + + return this.nimi; nrrh i c -roopan i-saaominaisuus (Ominaisuus uusiorninaisuus { if fhis nminaisuuksia < this'ominaisuudet.ength { this.ominaisuudet this.ominaisuuksa] = uusiomnaisuus; ths. omi-nai-suuksia++ ; return cruei ese return fase; ] nrf t i e r^'rmi na i qurrs ysvf f v kerroorninaisuus (String ominaisuudennimi { for (int indeksi = 0; indeksi < this.ominaisuuksia; indeksi++1 i Ominaisuus tutkittava = this. ominaisuudet indeksi ] ; if (tutkittava. kerronirni (.equas (ominai-suudennim return tutkittava return nu1; j pubic Henkio teejotaintuntematontao { Henki.o henkio = this; whie (henkio.isa!: nu { henkio = henkifo'isa; ] return henkifo;

4 Liite 2: Ohjemakoodia. Liittyy tehtavidn 3. Luokat kuvattu vain tehtdvanannon kannannata oeeisin osin Tavaroita kuvaavat uokat: nrrh i c abst-ract cass Tavara { // otain kaikkien tavaroiden yhteisid piirteit:i... pubic cass Vaatekappae extends Tavara { pubic String kerrokoko ( { return this. koko; pubic String kerromerkkinj-ni O { return this.merkkini-mi; jne. muita vaatteie ominaisia pirteitii pubic cfass Kirja extends Tavara { pubic Kirjaiija kerrokirjaiija O { return this.tekija; pubic String kerronimi O { return this. nimi; jne. muita kirjoie ominaisia piirteitii Tavaroihin iitt /ia toimintoja (muita metodeita joista kdsin tavarauokkia kiiytet5iin. pub-ic cass JokuMuuuokka { t t nrr-r' y u a r u ie Srrino v r! a r r Y maeritakrr' iptrrshinta (Tavara tavara { if (tavara instanceof Vaatekappae return 5; efse if (tavara instanceof Kirja return 3; o i qc / /.. jne. miariteiiiin kujetushinta muife tavarakategorioij 1e // samaan tyyiin ^"r.' i ^ n rec \7i arjokuuokka { t / /* Maarittaa tavaran tekijin nimen: se mitd "tekija1a" tarkoitetaan riippuu * tavararyypista: vaatteife niiden vamistaja kirjoie kirjaiija jne. */ pubic String maaritatekijannimi(tavara tavara { if (tavara instanceof Vaatekappae return ( (Vaatekappafe tavara. kerromerkkinimi O ; ese if (tavara instanceof Kirja return ( ((irja tavara.kerrokirjaiija O.kerroNimi O ; e- se //.. jne. ki1site;i;in muut tavarakategoriat samaan tyyiin

5 Liite 3: Luentomateriaaia ja sen kritiikkii. Liittyy tehtdvddn 4. Aa oeva uentoesime*issii kdyteteiiin rajapintauokkaa jonka ohjemakoodi on seuraava: nrr-r' i e i nterf ace arf r i rrzo nai nor --^--^!+^+r-\ vc!!allovo/ ^hi^ -k-+?.^f Faao:n nntcnmni(rrin/\/or.:irrtcnrr-^- puof f dd:;ltdlu uvursarr vrrrrvrr.prr\urrr\vc!lqrru^sryuc1 c { ' "Mieestdni uvussa 18 (Rajapintauokaf on pieni epdoogisuus. Otsikoa R aj a pin ta uoka n tote utta min en miiiriteiiiin Lamma s-uokkaan ja opi s ke i j a-uokkaan toteutukset onr sompikuin-metodie; sindnsd hyvd homma koska uokkien oisi toteutettava rajapintauokka Ve rta i- ukepoinen joka vaatii moisen. Seuraavaksi kuitenkin sovitaan (!! ettri ampaita vertaiaan vain ampaisiin ja opiskeijoita vain opiskeijoihin (!!! ja vapautuneesti tyyppimuunneaan Ve rta i iuke po inen-parametriarvo aina vastaavasti sopimuksen mukaan samaksi uokaksi kuin mink6 toteutusta oaan kiiyttiimtissii ja vertaiaan yksityisi i kenttid. Kaikki toimii kun vertaiaan ampaia ampaisiin ja opiskeijoita opiskeijoihin." pubic cacc LanDaa iry1enants-vetai.ukepoinan { : t'' priwata doube paino; pub1ic booean onaoqikuin(ve:taiukepoi'nea v rrattava La.@a8 toinenjanoas s (LaDsasverrattavai return thapaino toinenanuas.pai:o; ' opskeijota toien opjkeijoihn f ne. Tyyppmuunnos on vodaan vtata "No mutta. Mennddnpd seuraavae kavoe jossa esitetritin yeinen suurimman akion etsimismetodi jossa sitten saadaan parametrina tauukko vertaiukepoisia ja haetaan niistd suurinta simukaa joka kutsuu jokaisee tauukon oioe on s ompikuin-metodia paramerinaan suurin dydetty oio. Mutta opi-s kej-i j a-uokan metodihan tyyppim uunsi parametriarvon opiskeijaksi ampaan metodi ampaaksi. Edeti otiin sovittu ettei vertaia ristiin. Ei kai se ettd sekd Lanmas etta opiskei ja toteuttavat Ve rta i -uke po inen-rajapinnan takaa sitii ettd niitti voitaisiin tyyppimuuntaa ristiin? Kiisittedkseni tassd yeisessd toteutuksessa nyt nimenomaan on kyse siitii etti ksla moemmat - toteuttavat raiapintauokan v"u.;9tgqficf"epgs**$* tt{ Tsst versossa parametrin tyyppind on Vertaiukcpoinen. Sis parametrksi vo antaa tauukosen mtf tahansa vertai-1r:kepoinen'rajapintauokan toteuttava oota. Ei mitf tahansa oota iotka on vetr-ukeponen' rajapntauokan avua motefru keekenen vertaukepoisiks. Nyt odsoee ikrin. metodin kutsumnen metodin toteutuksessa onnistuu ongemtta s kaka parametrtauukon oioia taatust on kysenen motodi pubic rttic vettiutepoin n ot8isurria(verai'ujc.ttoioeo[ oiot ( '. '.. '.. '.... Vutaiucepoinsn cuurin = 0; for (int indohai F 1i ind jtti ( oiot.bagth; inddcsi++ ( r.ttm if (oiotindekait.oncocpikuin{8uu!in { guurin = oiottindekei ; auurin; sovitaan verrata keskenddn."

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi. 11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu

Lisätiedot

Ohjelmistotekniikan menetelmät, koe 2.5.2014

Ohjelmistotekniikan menetelmät, koe 2.5.2014 Ohjelmistotekniikan menetelmät, koe 2.5.2014 Vastaa tehtävään 3 erilliselle konseptille. Tehtävät 1 ja 2 saavat olla samalla konseptilla. Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen

Lisätiedot

8/20: Luokat, oliot ja APIt

8/20: Luokat, oliot ja APIt Ohjelmointi 1 / syksy 2007 8/20: Luokat, oliot ja APIt Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Kohti

Lisätiedot

Luokat ja oliot. Ville Sundberg

Luokat ja oliot. Ville Sundberg Luokat ja oliot Ville Sundberg 12.9.2007 Maailma on täynnä olioita Myös tietokoneohjelmat koostuvat olioista Σ Ο ω Μ ς υ φ Ϊ Φ Θ ψ Љ Є Ύ χ Й Mikä on olio? Tietokoneohjelman rakennuspalikka Oliolla on kaksi

Lisätiedot

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 2 / 2010 Välikoe / 26.3 Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

Lisätiedot

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja

Lisätiedot

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa 812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää

Lisätiedot

9. Periytyminen Javassa 9.1

9. Periytyminen Javassa 9.1 9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.

Lisätiedot

Sisällys. 11. Rajapinnat. Johdanto. Johdanto

Sisällys. 11. Rajapinnat. Johdanto. Johdanto Sisällys 11. ajapinnat. bstrakti luokka vai rajapinta? ajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen avulla.

Lisätiedot

Tietorakenteet (syksy 2013)

Tietorakenteet (syksy 2013) Tietorakenteet (syksy 2013) Harjoitus 1 (6.9.2013) Huom. Sinun on osallistuttava perjantain laskuharjoitustilaisuuteen ja tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. Näiden laskuharjoitusten

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet

Lisätiedot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) 1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä

Lisätiedot

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 6. Metodit 6.1 Sisällys Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen Olio-ohjelmoinnissa ohjelma

Lisätiedot

K Ä Y T T Ö S U U N N I T E L M A Y H D Y S K U N T A L A U T A K U N T A

K Ä Y T T Ö S U U N N I T E L M A Y H D Y S K U N T A L A U T A K U N T A K Ä Y T T Ö S U U N N I T E L M A 2 0 1 7 Y H D Y S K U N T A L A U T A K U N T A Forssan kaupunki Talousarvio ja -suunnitelma 2017-2019 / T O I M I A L A P A L V E L U 50 YHDYSKUNTAPALVELUT 5 0 0 T E

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

Ohjelmointi 1 C#, kevät 2013, 2. tentti

Ohjelmointi 1 C#, kevät 2013, 2. tentti ITKP102 Ohjelmointi 1 C# 15.5.2013 1 / 6 Ohjelmointi 1 C#, kevät 2013, 2. tentti Tentaattori Antti-Jussi Lakanen Tässä tentissä saa olla mukana omia muistiinpanoja yhden arkin verran. Tentin valvojalla

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Ohjelmointi 1 / 2009 syksy Tentti / 18.12 Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN

Lisätiedot

Rinnakkaisohjelmointi, Syksy 2006

Rinnakkaisohjelmointi, Syksy 2006 Rinnakkaisohjelmointi, Syksy 2006 17.12.2006 Opintopiiri WTF Mika Holmström Paula Kemppi Janne Piippo Lasse Lukkari Javan semaforit 1. Menetelmän käyttötarkoitus ja sovellusalue Semaforin idea kehitettiin

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance)

Sisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance) Sisällys JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys Periytyminen (inheritance) Näkyvyys (visibility) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E. Hyvönen: Java Osa

Lisätiedot

YHDYSKUNTALAUTAKUNTA TALOUSARVIOEHDOTUS 2018 TALOUSSUUNNITELMA

YHDYSKUNTALAUTAKUNTA TALOUSARVIOEHDOTUS 2018 TALOUSSUUNNITELMA YHDYSKUNTALAUTAKUNTA TALOUSARVIOEHDOTUS 2018 TALOUSSUUNNITELMA 2018-2020 TOIMIALA 50 YHDYSKUNTAPALVELUT P A L V E L U 5 0 0 T E K N I S E N J A Y M P Ä R I S T Ö T O I M E N H A L L I N T O J A M A A S

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

Olio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin

Olio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin Olio-ohjelmointi: Luokkien toteuttaminen Jukka Juslin Luokkien kirjoittaminen Tähän mennessä on käytetty valmiiksi määritettyjä luokkia. Nyt opimme kirjoittamaan omia luokkia olioiden kuvaamiseksi Seuraavaksi

Lisätiedot

Tietorakenteet, laskuharjoitus 7,

Tietorakenteet, laskuharjoitus 7, Tietorakenteet, laskuharjoitus 7, 14.-19.3. 1. "Tira meets software engineering, osa 1" Lue luentomonisteen kalvot 233-236. Toteuta luokka Opiskelijarekisteri joka tarjoaa seuraavat palvelut: opiskelijoiden

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Ohjelmistojen mallintaminen, sekvenssikaaviot

Ohjelmistojen mallintaminen, sekvenssikaaviot 582104 - Ohjelmistojen mallintaminen, sekvenssikaaviot 1 Vuorovaikutussuunnittelu Oliojärjestelmän toiminta perustuu olioiden vuorovaikutukseen ja yhteistyöhön Olioiden yhteistyö toteutuu operaatioiden

Lisätiedot

58131 Tietorakenteet ja algoritmit (syksy 2015)

58131 Tietorakenteet ja algoritmit (syksy 2015) 58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen

Lisätiedot

Oliot ja tyypit. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos

Oliot ja tyypit. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos Oliot ja tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 19. maaliskuuta 2007 Olion tyyppi? attribuutti on oikeastaan metodi,

Lisätiedot

Esimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005

Esimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005 Esimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005 Esimerkki: Laskin Liukulukulaskentaa Yhteen, vähennys, kerto ja jakolaskut Syötteenä laskutehtävä, tulosteena tulos tai virheilmoitus

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

Java-API, rajapinnat, poikkeukset, UML,...

Java-API, rajapinnat, poikkeukset, UML,... Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)

Lisätiedot

Luokan sisällä on lista

Luokan sisällä on lista 1 Luokan sisällä on lista Luokan sisällä lista Listan sisältävä luokka Konstruktorit get-metodi Lista muissa metodeissa addxx-metodi Yksinkertainen pääohjelma Kertauksen List-luokan metodeja 1 Luokan sisällä

Lisätiedot

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1 Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java) Tavoite Opiskelija ymmärtää olio-ohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää itse

Lisätiedot

Ohjelmointi 1 C#, kevät 2013,

Ohjelmointi 1 C#, kevät 2013, Ohjelmointi 1 C#, kevät 2013, 19.4.2013 (English versions of the questions can be requested from the supervisor. Englanninkieliset kysymykset saa pyytämällä tentin valvojalta.) Tentti (yliopisto opiskelijat)

Lisätiedot

12. Monimuotoisuus 12.1

12. Monimuotoisuus 12.1 12. Monimuotoisuus 12.1 Sisällys Johdanto. Periytymismekanismi määrittää alityypityksen. Viitteiden sijoitus ja vertailu. Staattinen ja dynaaminen luokka. Myöhäinen ja aikainen sidonta. Parametrinvälitys

Lisätiedot

9. Periytyminen Javassa 9.1

9. Periytyminen Javassa 9.1 9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat

Lisätiedot

20. Javan omat luokat 20.1

20. Javan omat luokat 20.1 20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Oliot viestivät metodeja kutsuen

Oliot viestivät metodeja kutsuen 6. Metodit 6.1 Sisällys Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit). Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen

Lisätiedot

T Henkilökohtainen harjoitus: FASTAXON

T Henkilökohtainen harjoitus: FASTAXON T-76.115 Henkilökohtainen harjoitus: FASTAXON Suunnittelumallit Group: Muuntaja Pentti Vänskä 52572W 2 1. Toteutus Tämä henkilökohtainen harjoitustyö käsitteli suunnittelumallien (Design Patterns) käyttöä

Lisätiedot

Forssan kaupunki Osavuosikatsaus YHDYSKUNTAPALVELUT. Arviointik r iteeri tr mittarit ja tavoitetaso ja t a v o i t e t a s o

Forssan kaupunki Osavuosikatsaus YHDYSKUNTAPALVELUT. Arviointik r iteeri tr mittarit ja tavoitetaso ja t a v o i t e t a s o Forssan kaupunki Osavuosikatsaus 2017-08 TOIMIALA 50 YHDYSKUNTAPALVELUT P A L V E L U 5 0 0 T E K N I S E N J A Y M P Ä R I S T Ö T O I M E N H A L L I N T O J A M A A S E U T U P A L V E L U T T I L I

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin

Lisätiedot

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä Sisällys 9. Periytyminen Javassa Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

TyontekijaOhjelma. +main() (käyttää) + = public - = private

TyontekijaOhjelma. +main() (käyttää) + = public - = private 1 (6) OPPIMISTEHTÄVÄT 11 (opetusviikko 15) Periytyminen, Rajapinta, Kertaus 1) Periytyminen: Periytä Henkilo-luokasta Tyontekija-aliluokka. Tyontekija-luokalla on attribuutti tuntipalkka (desimaaliluku).

Lisätiedot

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen Yksikkötestaus Kattava testaus Moduulitestaus Ohjelman testaus 1 Kattava testaus Testauksen perimmäinen tarkoitus on LÖYTÄÄ VIRHEITÄ Testaus pitäisi olla täydellinen: - Jokainen pyydetty arvo pitäisi testata

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Kooste. Esim. Ympyrän keskipiste voidaan ajatella ympyrän osaksi.

Kooste. Esim. Ympyrän keskipiste voidaan ajatella ympyrän osaksi. 17. Kooste 17.1 Kooste Kooste (aggregation) on luokkien A ja B välinen suhde, joka tarkoittaa A on B:n osa tai A kuuluu B:hen. Koostesuhteessa olevat luokat eivät yleensä ole periytymissuhteessa. Kooste

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010 12. Periytyminen Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi

Lisätiedot

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

δ 0 [m] pistevoimasta 1 kn aiheutuva suurin kokonaistaipuma δ 1 [m] pistevoimasta 1 kn aiheutuva suurin paikallinen taipuma ζ [-] vaimennussuhde

δ 0 [m] pistevoimasta 1 kn aiheutuva suurin kokonaistaipuma δ 1 [m] pistevoimasta 1 kn aiheutuva suurin paikallinen taipuma ζ [-] vaimennussuhde SYMBOLILUETTELO a [/s ] ihisen käveystä aiheutuva askettu kiihtyvyys x [] huoneen suurin eveys- tai pituus [] attian eveys eff [] attian värähteevän osan tehoinen eveys e=,78 [-] Neperin uku s [] attiapakkien

Lisätiedot

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä 2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa

Lisätiedot

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan

Lisätiedot

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla

Lisätiedot

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen

Lisätiedot

UML ja luokkien väliset suhteet

UML ja luokkien väliset suhteet UML ja luokkien väliset suhteet -Luokan kuvaaminen UML-tekniikalla -Yhteyssuhde ja koostumussuhde 1 Luokan kuvaaminen UML-tekniikalla : Luokka - attribuutti1 : tietotyyppi # attribuutti2 : tietotyyppi

Lisätiedot

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma. Välikoe / 20.3 Vastaa neljään (4) tehtävään. Jos vastaat 5:een, 4 huonointa arvostellaan. Kunkin tehtävän vastaus eri konseptille. 1. Pöytätesti Pöytätestaa seuraava ohjelma. Tutki ohjelman toimintaa pöytätestillä

Lisätiedot

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.

Lisätiedot

14. Poikkeukset 14.1

14. Poikkeukset 14.1 14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.

Lisätiedot

ENE-C2001 Käytännön energiatekniikkaa. Aloitustapaaminen 11.4.2016. Osa III: Tekninen raportointi

ENE-C2001 Käytännön energiatekniikkaa. Aloitustapaaminen 11.4.2016. Osa III: Tekninen raportointi ENE-C2001 Käytännön energiatekniikkaa Aloitustapaaminen 11.4.2016 Osa III: Tekninen raportointi Sisältö Raportoinnin ABC: Miksi kirjoitan? Mitä kirjoitan? Miten kirjoitan? Muutamia erityisasioita 1 Miksi

Lisätiedot

f (28) L(28) = f (27) + f (27)(28 27) = = (28 27) 2 = 1 2 f (x) = x 2

f (28) L(28) = f (27) + f (27)(28 27) = = (28 27) 2 = 1 2 f (x) = x 2 BMA581 - Differentiaalilaskenta ja sovellukset Harjoitus 4, Syksy 15 1. (a) Olisiko virhe likimain.5, ja arvio antaa siis liian suuren arvon. (b) Esim (1,1.5) tai (,.5). Funktion toinen derivaatta saa

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet Pakkaukset ja määreet Toisiinsa liittyvät luokkatiedostot voidaan koota pakkauksiksi. Luo hierarkiaa ja järjestystä ohjelmistotuotteeseen.

Lisätiedot

16. Javan omat luokat 16.1

16. Javan omat luokat 16.1 16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat

Lisätiedot

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä Sisällys 9. Periytyminen Javassa Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot