2. Olio-ohjelmoinnin perusteita

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

18. Abstraktit tietotyypit
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
– Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä.
Ohjelmiston tekninen suunnittelu
6. Metodit.
JavaScript oliot © Reiska, DOM Oliot  JavaScript sisältää paljon valmiita DOM olioita, on sisältänyt jo DOM level 0 (ns. Legacy DOM) alkaen  WWW-ympäristössä.
Luokkien väliset koostesuhteet
16. Javan omat luokat.
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Ict1td002: Ohjelmointitaito Kertaus Osio 2 - luokat - ilmentymät - viittaus- ja arvomuuttuja - ilmentymien taulukointi HAAGA-HELIA IltaTiko.
2. Olio-ohjelmoinnin perusteita
Tietokannan suunnittelu
Olio-ohjelmointi. Mitä olio-ohjelmointi on ?  Pyritään mallintamaan jotain reaalimaailman kohdetta tietokoneohjelman avulla  Olio on luokan ilmentymä.
1. Olio-ohjelmointi.
Olio-mallinnus Tietojärjestelmien suunnittelu KYAMK, Liiketalous, Kouvola Jarkko Ansamäki, 2002.
13. Pakkaukset.
Perintä. Yleistä Olio-ohjelmoinnin menetelmä muodostaa uusia luokkia aiemmin määriteltyjen luokkien avulla Luokka saa automaattisesti käyttöönsä kaikki.
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Oliomallittaminen ja UML
Luokkien löytyminen käytännössä tMyn1 Luokkien löytyminen käytännössä Kun aletaan ratkaista elävän elämän ohjelmointitehtäviä, niin ensimmäisten asioiden.
9. Periytyminen Javassa.
2. Vuokaaviot.
Oliosuunnittelu.
© Jukka Harju, Jukka Juslin
7. Oliot ja viitteet.
UML-luokkakaaviot ja Java
Työasemasovelluksen käyttöliittymä sovelluksien käyttöliittymät voidaan jakaa kahteen pääluokkaan: –kohde-toiminto -pohjaisiin (object-action) käyttöliittymiin.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
17. Kooste Kooste Kooste (aggregation) on luokkien A ja B välinen suhde, joka tarkoittaa “A on B:n osa” tai “A kuuluu B:hen”. − Koostesuhteessa.
Mallinnustavat.
Toteutus. Ohjelmointikielen valinta Käytetään samaa kuin muutkin Työkalujen laatu Usein asiakas määrää Yleensä valittu jo ennen toteutusta Osaaminen vs.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
Vesa Ollikainen & Outi Grotenfelt
11. Rajapinnat Sisällys Mitä rajapinnat ovat? Kuinka ne määritellään ja otetaan käyttöön? Moniperiytyminen rajapintojen avulla. Varoituksen.
Hyvän osaamisen kriteerit ET:n eri teema-alueissa Eero Salmenkivi Opettajankoulutuslaitos.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
8. Periytyminen Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö.
15. Ohjelmoinnin tekniikkaa
Kertausta: Ohjelmistotuotantoprosessin vaiheet ● Vaatimusanalyysi- ja määrittely – Mitä halutaan? ● Suunnittelu – Miten tehdään? ● Toteutus – Ohjelmointi.
UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet.
16. Javan omat luokat Sisällys Johdanto. Object -luokka: − toString -, equals -, clone - ja getClass -metodit. Comparable -rajapinta: − compareTo.
Olio-ohjelmoinista lyhyesti. 2.2 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen.
17. Kooste.
5. Kapselointi.
6. Metodit.
3. Olio-ohjelmoinista lyhyesti
11. Rajapinnat.
1. Olio-ohjelmointi.
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
Snapchat.
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
Luokan määrittely class-määreellä
6. Metodit.
Sosiaalisuus ja sosiaalisen tarkastelu
13. Pakkaukset.
8. Periytyminen.
16. Javan omat luokat.
4. Attribuutit.
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
OHJELMOINTITAITO ICT02D 12 ECTS.
3. Attribuutit.
13. Pakkaukset.
8. Periytyminen.
4. Luokan testaus ja käyttö olion kautta
1. Olio-ohjelmointi.
Esityksen transkriptio:

2. Olio-ohjelmoinnin perusteita

Sisällys Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit.

Luokat ja oliot Olio-ohjelmoinnin keskeisimpiä termit, luokka (class) ja olio (object), liittyvät kiinteästi yhteen, mutta ovat kuitenkin erilliset. Luokka on yleinen malli, joka määrää olionsa (ilmentymänsä) tiedot ja toiminnallisuuden eli olion piirteet. Luokkien ja olioiden suhteesta seuraa, että oliolla on aina luokka ja että luokalla voi olla 0, 1 tai useampia olioita. Luokka itsessään mallintaa karkealla tasolla käsitettä (concept).

Käsitteet Ajatusmaailman mielikuvia, jotka auttavat hahmottamaan maailmaa ja tunnistamaan sen olioita. Ilmaistaan kielellisesti määritelmän avulla. Käsitteeseen viitataan sanalla tai termillä. Käsite koira voidaan määritellä “Koira on nelijalkainen eläin, jolla on häntä ja joka haukkuu.” Käsite voi olla konkreettinen tai abstrakti. Käsitteet voivat olla myös kuvitteellisia. Örkki-käsite ei ole kotoisin tästä maailmasta.

Käsitteet, luokat ja oliot Olio-ohjelmoinnissa sovellusalueen ja sen ympäristön käsitteitä mallinnetaan luokiksi, joista luotavat oliot muodostavat ohjelman. Käsitteen “vangitseminen” sellaisenaan luokaksi on lähes mahdotonta. Tämä ei ole onneksi tarpeen, koska riittää, että käsitettä vastaava luokka sisältää sovelluksen kannalta tärkeän osuuden käsitteestä. Jos luokkia ja niiden välisiä suhteita ei voida tunnistaa suoraan tai tarkempi ajattelu on ylipäätänsä paikallaan, on sovellusalue analysoitava muodollisemmin. Tämä tehdään yleensä UML:n avulla.

Käsitteet, luokat ja oliot Luokaksi soveltuvat käsitteet ovat yleensä substantiiveja. kissa, koira, auto, rengas, henkilö, kokonaisluku, ... Yksittäisellä arvolla ilmaistava substantiivi ei ole on usein luokkaan liittyvä tieto. väri, paino, pituus, ikä,…, ... Toimintaa ilmaisevat käsitteet (esimerkiksi maukuminen ja haukkuminen) sopivat luokan toiminnallisuuden mallintamiseen. Olkoon sovellusalue kirjasto. Käsitteitä: teos, lainaus, varaus, asiakas, sakko jne. Asiakas-luokkaan voitaisiin sijoittaa muun muassa asiakkaan nimi ja yhteystiedot.

Attribuutit Olion tiedot määritellään attribuuteilla (attribute), jotka voivat esiintyä yhdessä tai useammassa luokassa. Kissoilla ja linnuilla on väri. Toisaalta kissoilla on häntä ja linnuilla on pyrstö. Attribuutti voidaan jakaa periytymismekanismin avulla luokkien kesken, kun periyttäminen on käsitteellisesti luontevaa. Attribuutteja pyritään käyttämään mahdollisimman vähän ja vain käsitteen mallintamiseen.

Attribuutit Oliolla on tila (state), jonka attribuutin arvot määräävät. Luokka toteutetaan yleensä siten ettei olion tilaa päästä muuttamaan suoraan attribuuttien arvoja sijoittamalla. Jos esimerkiksi Möykyn häntä on kippura ja Rontin häntä tavallinen, on näillä kissaolioilla eri tila, vaikka molemmat ovat mustia Kissa-luokan edustajia. Möykky Rontti Olio Häntä Väri Möykky kippura musta Rontti tavallinen

Olion identiteetti Olioilla on myös identiteetti (identity), joka avulla olio voidaan erottaa yksikäsitteisesti muista olioista. Olkoon esimerkiksi Möykky ja Mörkö mustia kippurahäntäisiä Kissoja. Vaikka kissaolioiden tila onkin sama, ovat oliot kissojen tapaan ainutkertaisia ja erillisiä yksilöitä. Möykky Mörkö Olio Häntä Väri Möykky kippura musta Mörkö

Metodit Metodit (method) mallintavat olioiden toiminnallisuuden eli tietyn luokan olioille ominaiset toiminnot. Metodit voivat muuttaa olion tilaa. Esimerkiksi Kissat osaavat muun muassa syödä, äännellä, raapia, leikkiä ja nukkua. Nämä toiminnot ilmenevät vaikkapa Mörkö-kissan käytöksestä. Metodien nimet annetaan käskymuodossa (yksikön imperatiivi) syö, ääntele, raavi, leiki, nuku, …

Metodit Olioparadigmassa ohjelma on joukko keskenään “keskustelevia” olioita. Abstraktisti voidaan ajatella, että oliot kommunikoivat keskenään viesteillä (message). Olio voi viestiä myös itselleen. Luonteva ajattelumalli, koska myös reaalimaailman oliot lähettävät viestejä toisilleen. Lähettäjän (sender) viestin aktivoi vastaanottajan (receiver) metodin. Olio ymmärtää vain metodeihinsa liittyvät viestit.

Metodit Mörkö-kissa voi esimerkiksi naukua omistajalleen, joka sitten ruokkii käskystä kissansa raksuilla. Reaalimaailma: Oliokaaviona: Mörkö omistaja Miau! mörkö: Kissa syö(raksuja) omistaja: Ihminen ruoki()