15. Ohjelmoinnin tekniikkaa 15.1
|
|
- Elli Eeva-Liisa Mäki
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 15. Ohjelmoinnin tekniikkaa 15.1
2 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2
3 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen: for (muuttuja : kokoelma) { } missä muuttuja on samaa tyyppiä kuin kokoelman alkio. Java sijoittaa muuttujaan kullakin kierroksella kokoelman seuraavan alkion arvon. Lasketaan yksiulotteisen taulukon alkioiden summa eri tavoin. int[] luvut = { 1, 2, 3, 4, 5 }; for (int i = 0; i < luvut.length; i++) { summa1 += luvut[i]; } for (int luku : luvut) { } summa2 += luku; 15.3
4 For-each-rakenne Lasketaan kaksiulotteisen taulukon alkioiden summa eri tavoin. int[][] luvut = { { 1, 2, 3 }, { 4, 5, 6 } }; for (int i = 0; i < luvut.length; i++) for (int j = 0; j < luvut[i].length; j++) summa1 += luvut[i][j]; // Kaksiulotteisen taulukon rivit ovat yksiulotteisia taulukoita. for (int[] rivi : luvut) for (int luku : rivi) summa2 += luku; 15.4
5 Geneerinen ohjelmointi Geneerinen ohjelmointi (generic programming, generics) tarkoittaa muun muassa ohjelmointitekniikkaa, jossa algoritmeja toteutetaan yleisesti sitomatta niitä käsiteltävän tiedon tyyppiin. Algoritmien yleinen toteutus on mahdollista myös tyyppien monimuotoisuuden avulla, mutta tällöin on kiinnitettävä tyyppejä jo algoritmin suunnittelun aikana. Tunnetuin geneerisyyden mahdollistava mekanismi lienevät C++-kielen kaavaimet (template). Geneerisyys lisättiin Javaan vasta versiossa 1.5. Javassa geneerisyyttä tarvitaan erityisesti kokoelmaluokkien (esimerkiksi ArrayList) yhteydessä. 15.5
6 Geneerinen ohjelmointi Geneerisesti ohjelmoiden saadaan turvallisempaa koodia, koska lisätyyppitarkistuksien avulla havaitaan virheitä helpommin ja ohjelmassa tarvitaan vähemmän tyyppimuunnoksia. Geneerisyyttä käytettäessä käännös ei onnistu, jos esimerkiksi kokoelmaa käytetään vaarallisesti. Geneerisyyden tuottamat lisätarkistukset eivät ole käytettävissä ohjelman ajon aikana. Geneerinen ohjelmointi ei ole pakollista Java-kääntäjä kuitenkin varoittaa, jos luokkaa tai rajapintaa käytetään perinteisellä (vaarallisemmalla) tavalla. 15.6
7 Geneerinen ohjelmointi Geneerisen luokan tai rajapinnan otsikossa on määritelty kulmasuljeparin sisällä yksi tai useampia tyyppiparametreja. Tyyppiparametri E tarkoittaa kokoelman alkioiden tyyppiä. public class ArrayList<E> Tyyppiparametrille annetaan arvo kulmasuljenotaatiolla aina, kun koodissa esiintyy geneerisen tyypin tunnus. // Taulukkolistaan voidaan sijoittaa kaiken tyyppisiä viitteitä. ArrayList<Object> mitatahansa = new ArrayList<Object>(); // Ainoastaan Integer-tyyppiset viitteet kelpaavat. ArrayList<Integer> kokonaislukuja = new ArrayList<Integer>(); Tällä kurssilla riittää tietää kuinka voi ottaa geneerisyyden käyttöön, geneerisiä luokkia tai rajapintoja ei tarvitse tehdä. 15.7
8 Lueteltu tyyppi Lueteltu tyyppi (enumeration) on tietotyyppi, jossa tyypin arvoille kiinnitetään nimet luettelemalla kaikki tyypin arvot. Esimerkiksi pelikorttien maat ovat pata, risti, hertta ja ruutu. Javassa luokkatyypin erikoistapaus. Määritellään avainsanalla enum. Periytyy Enum-luokasta, joka on Object-luokan aliluokka. Arvot automaattisesti julkisia luokkavakioita (public static final). Paljon rajoitteita luokkatyyppiin verrattuna. Olioiden luominen ei ole mahdollista. Lueteltua tyyppiä ei voi periä toisesta luetellusta tyypistä. Rakentajia ei voi julkaista public- tai protected-määreillä. 15.8
9 Lueteltu tyyppi Tällä kurssilla lueteltu tyyppi esitellään hyvin yksinkertaisessa muodossa ja sijoitetaan luokan tapaan omaan tiedostoonsa. // Pelikorttien maat lueteltuna tyyppinä (Maa.java). // Tyypin määrittelyyn riittää jo pelkästään tyypin otsikko // ja arvojen esittely luettelemalla ne tyypin rungossa. public enum Maa { // Maa-tyyppisellä tunnuksella voi olla jokin näistä arvoista. PATA, RISTI, HERTTA, RUUTU; } 15.9
10 Lueteltu tyyppi // Viikonpäivät lueteltuna tyyppinä (Viikonpaiva.java). public enum Viikonpaiva { // Luetellun tyypin rakentajaa kutsutaan arvojen esittelyn yhteydessä. MA("maanantai"), TI("tiistai"), KE("keskiviikko"), TO("torstai"), PE("perjantai"), LA("lauantai"), SU("sunnuntai"); private String nimi; // Viikonpäivän nimi. private Viikonpaiva(String uusinimi) throws IllegalArgumentException { if (uusinimi == null) { } throw new IllegalArgumentException("Virheellinen nimi!"); nimi = uusinimi; 15.10
11 Lueteltu tyyppi Kullakin luetellulla tyypillä on erikoismetodit: // Palauttaa luetellun tyypin E arvot taulukossa. public static E[] values() // Muuntaa annetun merkkijonon luetellun tyypin E arvoksi. // Heittää IllegalArgumentException-poikkeuksen, // jos muunnos ei onnistu. public static E valueof(string name) Nämä metodit eivät periydy Enum-luokasta, vaan kääntäjä muodostaa ne
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ätiedot16. 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ätiedotJAVA-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ätiedotSisä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ätiedotSisä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ätiedot14. 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ätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
LisätiedotRajapinnasta 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ätiedotSisä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ätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
Lisätiedot9. 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ätiedotSisä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ätiedot20. 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ätiedotSisä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ätiedotSisä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ätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Standardi- ja tietorakenneluokkia
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Standardi- ja tietorakenneluokkia Standardi- ja tietorakenneluokkia Javan API, ArrayList Ohjelmointirajapinta (Application Programming Interface, API)
LisätiedotGeneeriset luokat. C++ - perusteet Java-osaajille luento 6/7: Template, tyyppi-informaatio, nimiavaruudet. Geneerisen luokan käyttö.
Geneeriset luokat C++ - perusteet Java-osaajille luento 6/7: Template, tyyppi-informaatio, nimiavaruudet Geneerinen luokka tarkoittaa parametroitua luokkamallia, jonka avulla voidaan muodostaa useita,
LisätiedotSisä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ätiedot4. Olio-ohjelmoinista lyhyesti 4.1
4. Olio-ohjelmoinista lyhyesti 4.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 4.2 Yleistä Olio-ohjelmointia käsitellään hyvin
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotOpintojakso 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ätiedot12. 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ätiedotUML 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ätiedot9. 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ätiedotSisä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ätiedotSisä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ätiedotSisä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ätiedotOpintojakso 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ätiedotSisä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ätiedotJava-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ätiedot815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
LisätiedotRajapinta (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ätiedotPoikkeustenkäsittely
1 Poikkeustenkäsittely Mitä poikkeustenkäsittely tarkoittaa? Poikkeuksen käsitteleminen Poikkeusluokkien hierarkia Poikkeuksen heittäminen 1 Mitä poikkeustenkäsittely tarkoittaa? Poikkeus (Exception) on
LisätiedotMikä 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ätiedot17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotOlio-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ätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotTaulukot. 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ätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotOhjelmointi 1 Taulukot ja merkkijonot
Ohjelmointi 1 Taulukot ja merkkijonot Jussi Pohjolainen TAMK Tieto- ja viestintäteknologia Johdanto taulukkoon Jos ohjelmassa käytössä ainoastaan perinteisiä (yksinkertaisia) muuttujia, ohjelmien teko
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja
LisätiedotOlio-ohjelmointi Virhetilanteiden käsittely
Olio-ohjelmointi 2016 Virhetilanteiden käsittely Poikkeustilanteet n Java-järjestelmässä voidaan ottaa kiinni ohjelman suoritusaikana tapahtuvia virhetilanteita, joita ei saada kiinni tavanomaisilla ohjausrakenteilla
Lisätiedot17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotJava 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ätiedot812341A 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ätiedotOhjelmointi 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ätiedotSisä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ätiedotOhjelmoinnin 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ätiedotOhjelmointi 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ätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
LisätiedotOlion 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ätiedotSisä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ätiedot1. 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ätiedotMitä poikkeuskäsittely tarkoittaa?
Poikkeuskäsittely Mitä poikkeuskäsittely tarkoittaa? Poikkeuskäsittelyluokkien hierakkia Poikkeuksen sieppaaminen Mihin järjestykseen try-catch-lauseen ExceptionType-poikkeukset laitetaan? Poikkeuksen
Lisätiedot2. Olio-ohjelmoinista lyhyesti 2.1
2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin
LisätiedotHarjoitus 5 (viikko 48)
Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain
Lisätiedot12 Mallit (Templates)
12 Mallit (Templates) Malli on määrittely, jota käyttämällä voidaan luoda samankaltaisten aliohjelmien ja luokkien perheitä. Malli on ohje kääntäjälle luoda geneerisestä tyyppiriippumattomasta ohjelmakoodista
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotMetodit Arvotyyppi. Metodit Arvotyyppi. Metodit Parametrit. Metodit Parametrit. Metodit Kuormittaminen. Metodit Kuormittaminen. Javan perusteet
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 Metodi voi palauttaa alkeistyypin tai olion Tällöin
LisätiedotA) 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ätiedotTietueet. Tietueiden määrittely
Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään
LisätiedotKääreluokat (oppikirjan luku 9.4) (Wrapper-classes)
Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi
Lisätiedot7. Oliot ja viitteet 7.1
7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin
LisätiedotSopimuspohjainen olio-ohjelmointi
Sopimuspohjainen olio-ohjelmointi Jouni Smed Kevät 2007 Yleistä Laajuus: 5 op. (3 ov.) Esitiedot: Olio-ohjelmoinnin perusteet (tai ent. Ohjelmointi I) Ilmoittautuminen: https://www.it.utu.fi/kurssi-ilmo/
LisätiedotLuokka 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ätiedot18. Abstraktit tietotyypit 18.1
18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
LisätiedotMetodit. 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ätiedot19. Olio-ohjelmointia Javalla 19.1
19. Olio-ohjelmointia Javalla 19.1 Sisällys Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit
LisätiedotHarjoitus 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ätiedot12. Monimuotoisuus 12.1
12. Monimuotoisuus 12.1 Sisällys Johdanto. Periytymismekanismi määrittää alityypityksen. Viitteiden sijoitus ja vertailu. Staattinen ja dynaaminen luokka. Parametrinvälitys eräs monimuotoisuuden sovellus.
LisätiedotSisä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ätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotOliot 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ätiedotMetodien 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ätiedotListarakenne (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ätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. V Geneerisyys
812347A Olio-ohjelmointi, 2015 syksy 2. vsk V Geneerisyys Sisältö 1. Johdanto geneerisyyteen 2. Geneeriset funktiot 3. Geneeriset luokat 4. Standard Template Library (STL) 5. IOStream-kirjasto 812347A
LisätiedotSisä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ätiedotSokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi olioperustainen sokkeloseikkailu peli Javakielellä. Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen
LisätiedotOlio-ohjelmointi Syntaksikokoelma
C++-kielen uusia ominaisuuksia Olio-ohjelmointi Syntaksikokoelma 31.10.2008 Bool-tietotyyppi: Totuusarvo true (1), jos ehto on tosi ja false (0) jos ehto epätosi. Dynaaminen muistinvaraus: Yhden muuttuja
LisätiedotTaulukot. 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ätiedotJavan 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ätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 20. toukokuuta 2016 Yleistä Tentti 1 oli pistekeskiarvon (11.6) perusteella vaikea. Omasta tehtäväpaperista saa kopion Antti-Jussilta,
Lisätiedot7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
Lisätiedot1 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ätiedot2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
LisätiedotTaulukoiden käsittely Javalla
1 Taulukoiden käsittely Javalla Mikä taulukko on? Taulukon syntaksi Merkkijonotaulukko Lukutaulukko Taulukon kopiointi 1 Mikä taulukko on? Taulukko on rakenne, minne saadaan talteen usea saman tyyppinen
LisätiedotOhjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia
Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia Tehtävä 1 Tehtävässä 1 mallinnettiin Monopolipeliä. Alla olevassa esimerkissä peliin liittyy aina 2 noppaa, peliä pelataan pelilaudalla,
LisätiedotSisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus
Sisällys 19. Olio-ohjelmointia Javalla Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit
LisätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
LisätiedotAalto 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ätiedotKompositio. 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ätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotTaulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko
5 Taulukot Tämän osan sisältö Taulukon esittely ja luonti Taulukon alustaminen Taulukon koko Taulukon käsittely indeksointi peräkkäiskäsittely hajakäsittely harva taulukko Taulukon järjestäminen Kaksiulotteinen
LisätiedotKielioppia: toisin kuin Javassa
Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien
LisätiedotPythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python
Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat
LisätiedotTentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.
Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen
LisätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 8. kesäkuuta 2018 Yleistä Tentti 1 meni pistekeskiarvon (11.2) perusteella välttävästi. Omasta tehtäväpaperista saa kopion
LisätiedotLuento 2. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä
Luento 2 T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1 Luennoitsija: Otto Seppälä Kurssin WWW: http://www.cs.hut.fi/opinnot/t-106.1240/s2007 Abstrakti luokka Abstrakti
Lisätiedot