Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op.

Samankaltaiset esitykset


Esitys aiheesta: "Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op."— Esityksen transkriptio:

1 Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

2 Opintojakso TT00AA11 Ohjelmoinnin jatko (Java) Tavoite  Opiskelija ymmärtää olio-ohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää itse ohjelmoimiaan luokkia omissa ohjelmissaan käyttäen hyväksi luokkien ja olioiden välisiä suhteita (periytyminen, assosiaatio, koostuminen). Opiskelija tutustuu Java API:iin käyttöliittymäohjelmoinnin kannalta (Swing) ja osaa toteuttaa graafisia käyttöliittymiä. Lisäksi opiskelija osaa käyttää tietovirtoja (tiedostoja). Opiskelija tuntee Java API:n tarjoamat yleisimmät perustietorakenteet ja osaa käyttää niitä. Sisältö  Oliopohjaisuus. Poikkeukset ja tietovirrat. Tietorakenteet. Graafinen käyttöliittymä. 27.8.20122(c) Outi Grotenfelt/Vesa Ollikainen

3 Opintojakso TT00AA11 Ohjelmoinnin jatko (Java), Arviointikriteerit Tyydyttävä  Oliopohjaisuus: - Opiskelija osaa määrittää luokkia, joissa on instanssimuuttujia, asetus- ja saantimetodeja ja muita metodeja. Opiskelija osaa tehdä niistä olioita ja muuttaa olioiden tilaa. - Opiskelija osaa määrittää luokkien välisen assosiaatiosuhteen. - Opiskelija osaa määrittää aliluokan. - Opiskelija osaa määrittää rajapinnan ja sen toteuttavan luokan. Poikkeukset ja tietovirrat: - Opiskelija osaa toteuttaa try/catch-rakenteen. - Opiskelija ymmärtää tietovirran käsitteen. Tietorakenteet: - Opiskelija osaa käyttää ArrayList-tietorakennetta. Graafinen käyttöliittymä: - Opiskelija osaa toteuttaa MVC-mallin mukaisen ohjelman, jossa on graafinen käyttöliittymä. - Opiskelija osaa liittää käyttöliittymään selitteitä, tekstikenttiä ja painikkeita. - Opiskelija osaa toteuttaa painikkeen kuuntelijan. 27.8.20123(c) Outi Grotenfelt/Vesa Ollikainen

4 Opintojakso TT00AA11 Ohjelmoinnin jatko (Java), Arviointikriteerit Hyvä  Oliopohjaisuus: - Opiskelija osaa suunnitella ja toteuttaa muutamasta luokasta koostuvan luokkarakenteen, jossa sovelletaan assosiaatio- ja periytymissuhteita. - Opiskelija tunnistaa löyhän ja aidon koosteen sekä osaa toteuttaa ne instanssimuuttujien avulla. - Opiskelija osaa käyttää oliopohjaisessa ohjelmassa staattisia metodeja ja muuttujia. - Opiskelija osaa määrittää abstrakteja luokkia ja metodeita sekä niiden vaatimia aliluokkia. Poikkeukset ja tietovirrat: - Opiskelija osaa kirjoittaa try/catch-rakenteeseen eri poikkeuksille eri tavoin toimivia poikkeuskäsittelijöitä. - Opiskelija osaa määrittää tiedostojen käsittelemiseksi tarvittavat tietovirrat ja kirjoittaa niiden vaatimat poikkeuskäsittelijät. Opiskelija osaa lukea ja tallentaa olioita tietovirtojen avulla. Tietorakenteet: - Opiskelija tuntee List-rajapinnan ja osaa käyttää ArrayList- ja Vector-tietorakenteita tarkoituksenmukaisissa tilanteissa. - Opiskelija osaa käyttää kääreluokkia. Graafinen käyttöliittymä: - Opiskelija osaa käyttää säiliöitä ja sijoittelijoita graafisen käyttöliittymän toteuttamisessa. - Opiskelija osaa käyttää luettelo- ja yhdistelmäruutuja sekä valintaruutuja ja - painikkeita. - Opiskelija osaa hyödyntää Javan ohjelmointirajapinnan kuvausta käyttöliittymän toteutuksessa. 27.8.20124(c) Outi Grotenfelt/Vesa Ollikainen

5 Opintojakso TT00AA11 Ohjelmoinnin jatko (Java), Arviointikriteerit Kiitettävä  Oliopohjaisuus: - Opiskelija hallitsee määreiden käytön luokkien, metodien ja muuttujien yhteydessä. - Opiskelija osaa käyttää nimettyjä ja anonyymejä sisäluokkia. Poikkeukset ja tietovirrat: - Opiskelija osaa käyttää merkkipohjaisia tietovirtoja ja jäsentää luetun syöterivin. Tietorakenteet: - Opiskelija osaa käyttää Javan ohjelmointirajapintaan kuuluvia tietorakenteita dokumentaatiota hyödyntäen. Graafinen käyttöliittymä: - Opiskelija osaa toteuttaa valikon. - Opiskelija osaa toteuttaa kuuntelijoita hiiri- ja näppäimistötapahtumille sekä valikkotoiminnoille. 27.8.20125(c) Outi Grotenfelt/Vesa Ollikainen

6 1. Luokka ja olio  Inhimillinen tapa havainnoida maailmaa  Asioiden ja tilanteiden ryhmittelyä  Ohjelmoinnissa vain keskeisin olioihin, kaikki turha pois  Oliokieliä: Java, Smalltalk, Eiffel  Olio-ohjelmointi mahdollista: C++, Oberon  Olio – eroaa kaikista muista jollakin tavalla; attribuutit (= tiedot, ominaisuudet) ja metodit (toiminnallisuus)  Voivat olla suhteissa toisiin olioihin Outi Grotenfelt627.8.2012

7 1. Luokka ja olio..  Mikä on olio/luokka?  Sillä on omat attribuutit (tiedot) ja metodit (toiminta)  Mikäli on vain attribuutteja eikä toiminnallisuutta – ei olio/luokka  Pelkkä toiminnallisuus, ei omia tietoja – ei olio/luokka (interface = rajapinta)  Olio on luokan ilmentymä  Luokka esittelee olioidensa tiedot ja toiminnallisuuden Outi Grotenfelt727.8.2012

8 1. Luokka ja olio..  Koira on luokka.  Murre ja Reksi ovat luokan Koira ilmentymiä eli olioita.  Luokan Koira ominaisuuksia voivat olla esimerkiksi nimi ja paino.  Luokan koira metodina voi olla esimerkiksi hauku(). Outi Grotenfelt/Vesa Ollikainen827.8.2012 ”Murre ja Reksi ovat koiria.”

9 1. Luokka ja olio..  Luokan tiedot, attribuutit tulisi aina esitellä julkisuusmääreidensä kanssa Perussääntö:  private: k aikki tietokentät (attribuutit) ovat yksityisiä, tällöin niiden arvoja ei voi muuttaa luokan ulkopuolelta  public: k aikki toiminnot ovat julkisia, (esim set/get-metodit; ominaisuuksien muuttaminen toimii vaikka luokan sisältö muuttuisi)  protected: näkyy luokan sisälle, aliluokkiin ja muihin saman pakkauksen luokkiin  (oletus): näkyy luokan sisälle ja muihin saman pakkauksen luokkiin Outi Grotenfelt927.8.2012 Aliluokkiin ja pakkauksiin palataan myöhemmin.

10 1. Luokka ja olio..  Lisätään ominaisuuksille asetus- ja saantitoiminnot (setterit ja getterit), joilla ominaisuuksille voidaan asettaa arvot (muokataan olion ominaisuuksia). Outi Grotenfelt/Vesa Ollikainen1027.8.2012

11 1. Luokka ja olio..  Kaikilla luokilla on konstruktori, muodostin (vaikka et itse kirjoittaisikaan sellaista)  Esitellessäsi yhden konstruktorin menetät automaattisesti luodun: jos kirjoitat yhden kirjoita kaikki, joita voit tarvita (kuormitus):  Mikäli metodilla on eri määrä tai eri tyyppisiä parametreja, ne on kuormitettu (overloaded, sama nimi)  Konstruktorin NIMEN täytyy olla SAMA kuin luokan nimi  EI paluutyyppiä  Voidaan kutsua VAIN, kun olio luodaan  Javassa ei tarvita destruktoria (vrt C++): automaattinen roskien keruu! Outi Grotenfelt1127.8.2012

12 1.1 Olioiden luonti  Toisessa luokassa Koiratesti luodaan luokan Koira olio new -operaattorilla.  Tarkasti ottaen omaKoira on viittaus Koira - luokan olioon Outi Grotenfelt/Vesa Ollikainen1227.8.2012

13 1.2 Kapselointi Outi Grotenfelt/Vesa Ollikainen1327.8.2012

14 1.4 Esimerkki luokasta  Luokka Koira määrittää luokan nimen sekä sen ominaisuudet ja metodit.  plus- ja miinusmerkit kuvaavat suojaustasoja ( public / private )  esimerkki UML-luokkakaaviosta, joka on kuvaustekniikka oliosuunnitteluun. Kalvosarjan tekijän nimi14

15 1.5 Olion muodostaminen/alustaminen  Luokan oliot voidaan muodostaa luokan määrittelyn yhteydessä  Muodostaminen tehdään tarkoitukseen kirjoitetussa alustaja- eli konstruktorimetodissa.  Konstruktorin nimen on oltava täsmälleen sama kuin luokan nimi  Jokaisella metodilla on oletusarvoisesti tyhjä parametriton konstruktori, jos yhtään alustajaa ei ole erikseen luotu. Outi Grotenfelt/Vesa Ollikainen1527.8.2012

16 1.6 Konstruktorin kuormittaminen  Alustajametodeja voidaan tehdä useita (metodin kuormittaminen)  Pätee muihinkin metodeihin.  esimerkissä parametrillinen ja parametriton alustaja. Outi Grotenfelt/Vesa Ollikainen1627.8.2012

17 1.7 Olion viittaus itseensä: this  esimerkissä parametrimuuttujalla ja instanssimuuttujalla (olion ominaisuudella) on sama nimi  avainsana this kertoo, että operaatio kohdistuu instanssimuuttujaan.  Luokan alustajaa voidaan kutsua toisesta alustajasta operaatiolla this.  Esimerkiksi this() kutsuu parametritonta alustajaa. Kalvosarjan tekijän nimi17

18 1.8 Olion tuhoutuminen  Javassa on automaattinen roskienkeruu.  Oliot, joihin ei viitata, tuhoutuvat automaattisesti.  Olion tuhoutumistoimet voi määritellä luokkaan kirjoitettavalla finalize() -metodilla.  harvoin tarvitaan.  Roskienkeruun voi pakottaa metodikutsulla System.gc(); Kalvosarjan tekijän nimi18

19 1.9 JavaBeans ja metodien nimeäminen  JavaBeans-komponenttiteknologia edellyttää luokalta tiettyjä ominaisuuksia:  Luokalla on oltava julkinen parametriton konstruktori.  Luokan ominaisuuksille määritetään get - ja set -alkuiset saanti- ja asetusmetodit.  Luokan on oltava sarjallistuva (tila voidaan lukea ja kirjoittaa, toteuttaa Serializable -rajapinnan, tähän palataan myöhemmin).  Teknologiaa käytetään mm. graafisissa käyttöliittymissä.  Nimeämiskäytäntö mahdollistaa luokkien automatisoidun käsittelyn.  Sitä on tarkoituksenmukaista toteuttaa myös muille luokille (getterien ja setterien nimeäminen). Vesa Ollikainen/Outi Grotenfelt1927.8.2012

20 www.metropolia.fi www.facebook.com/MetropoliaAMK outi.grotenfelt@metropolia.fi KIITOS!


Lataa ppt "Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op."

Samankaltaiset esitykset


Iklan oleh Google