UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

Koko: px
Aloita esitys sivulta:

Download "UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN"

Transkriptio

1 UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

2 SISÄLLYS 3. Luokkakaavio UML -mallinnuskielessä 3.1 Luokkakaavion luokan rakenteet 3.2 Luokan kuvauksesta C++ ohjelmakoodiksi 3.3 Luokkakaavion luokkien yhteystyypit 3.4 Yhteyssuhteen toteuttaminen C++ ohjelmointikielellä 3.5 Koosteinen yhteys luokkien välillä 3.6 Löyhä kooste 3.7 Vahva kooste 3.8 Löyhä ja vahva kooste yhteydessä samaan luokkaan 3.9 Koosteen toteuttaminen C++ ohjelmointikielellä 3.10 Yleistäminen (generalization) eli periminen 3.11 Perinnän toteuttaminen C++ ohjelmointikiellä

3 3.1 Luokkakaavion luokan rakenteet Luokkakaavio koostuu luokista, niiden tiedoista, toiminnoista ja luokkien välisistä yhteyksistä LUOKKAZ LUOKKAB LUOKKAX LUOKKAY LUOKKAQ Luokkakaavion luokan tiedot (attribuutit) ja toiminnot (funktiot/metodit) esitellään seuraavasti Anturi Tilatieto Suorita itsetesti Lähetä signaali LUOKAN NIMI (AINA YKSIKKÖ MUODOSSA) LUOKAN TIEDOT LUOKAN TOIMINNOT

4 3.2 Luokan kuvauksesta C++ ohjelmakoodiksi Luokan kuvauksesta ohjelmakoodiksi - julkinen (public +) - yksityinen (private -) - suojattu (protected #) SUUNNITTELUVAIHEEN LUOKAN KUVAUS CAnturi #tilatieto:int -toinen_muuttuja:char #suorita_itsetesti():int #laheta_signaali():float -kolmas_funktio(int x):void +neljas_funktio():char LUOKAN TOIMINNOT LUOKAN NIMI LUOKAN TIEDOT class CAnturi // ensin tiedot private: char toinen_muuttuja; protected: int tilatieto; // sitten toiminnot private: void kolmas_funktio(int x); protected: int suorita_itsetesti(); float laheta_signaali(); public: char neljas_funktio(); }

5 3.3 Luokkakaavion luokkien yhteystyypit Luokkakaavion luokkien välisiä yhteystyyppejä ovat - yhteyssuhde (assosiation) - koostesuhde (aggregation ja composition) ja - yleistyssuhde eli periminen (generalization) Yhteydet rakennetaan aina kerrallaan kahden luokan välille, vaikka luokka on yhteydessä useampaan luokkaan

6 3.3 LUOKKAKAAVION LUOKKIEN YHTEYSTYYPIT Yhteyssuhde eli assosiaatio on yhteys luokkien välillä Luokkien välillä voi olla seuraavia yhteyssuhteita - Yhden suhde yhteen 1:1 - Yhden suhde moneen 1:M tai - Monen suhde moneen M:N Yhteyssuhteessa luokkien välillä kerrotaan yhteyden nimi ja kerrannaisuus LUOKKAZ LUOKKAY * Yhteyden nimi 1 Kerrannaisuus voidaan ilmaista seuraavasti - 1 tarkoittaa yhtä yhteyttä luokkien välillä - * tarkoittaa määrittelemättömän monta tarkoittaa kertautumista "yksi tai ei yhtään - 0..* tarkoittaa kertautumista ei yhtään tai määrittelemättömän monta - Lukuarvot voidaan ilmaista myös tarkemmin esim

7 3.3 Luokkakaavion luokkien yhteystyypit Yhden suhde yhteen (1:1) Yhteen tilaukseen kuuluu yksi lähetys ja yksi lähetys sisältää yhden tilauksen Yhteyden nimi Kerrannaisuudet TILAUS 1 kuuluu 1 LÄHETYS

8 3.3 Luokkakaavion luokkien yhteystyypit Yhden suhde moneen (1:n) Yrityksessä työskentelee monta työntekijää ja tietty henkilö voi työskennellä vain yhdessä yrityksessä YRITYS 1 työskentelee * TYÖNTEKIJÄ Kontrolleri ottaa viestejä vastaan 2-5:ltä anturilta ja anturit lähettävät viestejä vain yhdelle kontrollerille KONTROLLERI 1 kuuntelee 2..5 lähettää viestejä ANTURI YHTEYDEN SUUNTA VOIDAAN MYÖS OSOITTAA

9 3.3 Luokkakaavion luokkien yhteystyypit Monen suhde moneen (n:m) Kaksisuuntainen n:m -yhteys voidaan muuntaa kahdeksi 1:m yhteydeksi Projektissa työskentelee monta työntekijää ja työntekijä työskentelee monessa projektissa PROJEKTI * työskentelee * TYÖNTEKIJÄ PROJEKTI 1 * TYÖSKENTELEE * 1 Tuntimäärä TYÖNTEKIJÄ

10 3.4 Yhteyssuhteen toteuttaminen C++ ohjelmointikielellä Yhden suhde yhteen CKontrolleri - *ipainike:cpainike +CKontrolleri(CPainike *ppainike) +kuuntele_viesteja():void 1 Kuuntelee Lähettää merkin 1 CPainike -merkki:char +lue_merkki():char Yhteyssuhteen toteuttaminen luokassa osoittimen avulla class CKontrolleri private: CPainike *ipainike; public: CKontrolleri(CPainike *ppainike); void kuuntele_viesteja(); }; Yhteyssuhde 1:1 muodostetaan ohjelman käynnistyessä void main() CPainike *ipainike; CKontrolleri *ikontrolleri; ipainike = new CPainike; // Yhteyssuhteen 1:1 muodostaminen ikontrolleri=new CKontrolleri(iPainike);... Olion luonti aiheuttaa muodostinfunktion suorittamisen CKontrolleri::CKontrolleri (CPainike *ppainike) ipainike=ppainike; kuuntele_viesteja(); }

11 3.5 Koosteinen yhteys luokkien välillä Koostumussuhde on assosisaation erikoismuoto Koosterakenteessa on kysymys omistamisesta Koosteluokka omistaa osaluokkansa ja on vastuussa näiden käsittelystä Koostumuksen tunnistaa, kun assosisaatioon liittyy sanoja, kuten koostuu, sisältää, on osa jne ; eli sanoja, jotka viittaavat luokkien väliseen koosteiseen suhteeseen Koosteisia suhteita ovat aggregation (löyhä kooste) ja composition (vahva kooste)

12 3.5 Koosteinen yhteys luokkien välillä Miksi kaksi erilaista koostetta? Mitä eroa? Löyhässä koostessa osaluokkien olemassaolo ei ole riippuvainen koosteluokasta Vahvassa koostessa osaluokka ei voi olla olemassa ilman isäntäänsä (koosteluokka) ja se voi olla vain yhden isännän osa. Vahvan koosterakenteen yksi olennainen piirre on se, että osaluokat häviävät, kun koosteluokka häviää. Tämän piirteen avulla voi testata, onko kyse vahvasta vai heikosta koosterakenteesta Koosteen tyyppi vaikuttaa toteutukseen, koska ohjelmakoodissa kerrotaan kuka, koska ja missä luokasta luodaan olio ja kuka, koska ja missä olio voidaan tuhota

13 3.6 Löyhä kooste Löyhä kooste esitetään koosteluokan päässä olevalla ontolla vinoneliöllä Koosteluokka Osaluokka LAIVASTO Sisältää * SOTALAIVA Yhteyteen kuuluvat osat nimi, kerrannaisuudet ja yhteyden suunta, voidaan kuvata koosteessa aivan kuten tavallisessa yhteyssuhteessakin JOUKKUE 1 Koostuu * HENKILÖ Kuuluu

14 3.7 Vahva kooste Vahva kooste esitetään koosteluokan päässä olevalla täytetyllä vinoneliöllä Esimerkki - Ikkuna koostuu yhdestä otsikko-osasta, yhdesta valikosta ja 1..* tekstikentästä - Kun ohjelmassa ikkuna olio tuhotaan näytöltä, niin myös ikkunaan kuuluvat osat tuhotaan 1 OTSIKKO-OSA IKKUNA 1 VALIKKO 1..* TEKSTI-KENTTÄ

15 3.8 Löyhä ja vahva kooste yhteydessä samaan luokkaan Esimerkki - Vähintään 1 vastaanottaja täytyy olla viestissä - Viestiin kuuluu yksi otsikkokenttä ja yksi viestiosa - Liitetiedosto voi kuulua viestiin,mutta olemassaolo ei ole riippuvainen sähköpostiviestin olemassaolosta Sähköpostiviesti 1 0..* * Liitetiedosto 1 Viestiosa 1..* Vastaanottajaosa 1 Otsikkokenttäosa

16 3.9 Koosteen toteuttaminen C++ ohjelmointikielellä Vahva kooste Luokkien väliset suhteet: vahva koostesuhde 1:1 - Koosteluokka omistaa osaluokkansa ja on vastuussa sen käsittelystä - Koosteolion tulee huolehtia osaolion luonnista ja hävittämisestä - *ipainike:cpainike CKontrolleri +Ckontrolleri +~Ckontrolleri +kuuntele_viesteja():void KOOSTESUHDE MUODOSTETAAN OSOITINOLION AVULLA KOOSTELUOKKA 1 CPainike OSALUOKKA -merkki:char +lue_merkki():char

17 3.9 Koosteen toteuttaminen C++ ohjelmointikielellä // CKontrolleri.h class CKontrolleri private: CPainike *ipainike; public: CKontrolleri (); ~CKontrolleri(); void kuuntele_viesteja(); }; // CPainike.h class CPainike private: char merkki; public: char lue_merkki; }; - *ipainike:cpainike CKontrolleri +Ckontrolleri +~Ckontrolleri +kuuntele_viesteja():void CPainike -merkki:char +lue_merkki:char

18 3.9 Koosteen toteuttaminen C++ ohjelmointikielellä Koosteolion luonti ohjelman käynnistyessä void main(void) // luodaan koosteolio CKontrolleri *ikontrolleri =new CKontrolleri(); } //tuhotaan koosteolio delete ikontrolleri; koosteolion muodostinfunktiossa luodaan osaolio CKontrolleri::CKontrolleri() // Luodaan osaolio ipainike=new CPainike; kuuntele_viesteja (); } Kun koosteolio tuhotaan, niin suoritetaan tuhoojafunktio, jossa tuhotaan myös osaolio CKontrolleri::~CKontrolleri() delete ipainike; }

19 3.10 Yleistäminen (generalization) eli periminen Yleistäminen on suhde yleisemmän (yliluokka) ja erikoisemman luokan välillä (aliluokka) Aliluokka on täysin yhteensopiva yläluokan kanssa ja sisältää vain lisätietoa ja perii yläluokan ominaisuuksia (tietoja, toimintoja ja yhteyksiä) Yleistyssuhde kuvataan onton kolmion avulla Kulkuväline Yläluokka Aliluokat Auto ja Vene Auto Vene

20 3.11 Perinnän toteuttaminen C++ ohjelmointikielellä class Kulkuvaline // tänne metodit ja data }; class Auto : public Kulkuvaline // tänne metodit ja data }; Perintä rakennettaan C++ -ohjelmointikielessä public -määreellä class Vene : public Kulkuvaline // tänne metodit ja data };

UML Luokkakaavio 14:41

UML Luokkakaavio 14:41 UML Luokkakaavio UML Olio-ohjelman luokkien pääpiirteet voidaan kätevähkösti esittää ns. UML-luokkakaaviona. Näin usein tehdäänkin esim. suunniteltaessa, millaisia luokkia ohjelmaan on tarkoitus laatia,

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

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

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

YHTEYSSUHDE (assosiation)

YHTEYSSUHDE (assosiation) YHTEYSSUHDE (assosiation) -Mikä on yhteyssuhde? -Miten toteutan yhteyssuhteen? 1 Mikä on yhteyssuhde? Yhteyssuhde kuvaa kahden olion välistä suhdetta: Esim. Auto Henkilö, omistussuhde Tili Asiakas, omistussuhde

Lisätiedot

Sisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio:

Sisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio: Sisällys 9. Unified Modeling Language (UML) Perustuu Kai Koskimiehen Oliokirjaan ja aikaisempaan luentomateriaaliin. Johdanto. Luokkakaavio: Luokkasymboli, attribuutit ja metodit. Suhteet: Assosiaatiot:

Lisätiedot

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Polku luokkakaavioista taulujen toteutukseen kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003,

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

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia.

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia. 4. Periytyminen 4.1. 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

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

Vahva koostumussuhde (Composition)

Vahva koostumussuhde (Composition) Vahva koostumussuhde (Composition) - Mitä vahva koostumsusuhde tarkoittaa? - Vahva koostumussuhde vs. yhteyssuhde - Miten toteutan vahvan koostumussuhteen? - Muodostimet - Set ja get-metodit - tostring-metodi

Lisätiedot

Luokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram)

Luokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram) 4 Luokkamalli Rakenteet mittojen mukaan. Mitat rakenteen mukaan. Tämän osan sisältö Luokkakaavio luokkakaavion elementti attribuutit operaatiot määreet Olioiden väliset suhteet kytkös kooste yleistys rajapinta

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

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas

Lisätiedot

Johdanto. Olio (Object) Luokka (Class) Olion kuvaaminen

Johdanto. Olio (Object) Luokka (Class) Olion kuvaaminen Johdanto Olio (Object) Luokat (ja oliot) mallintava järjestelmän rakennetta määrittely järjestelmän kannalta Luokat ja niiden väliset suhteet muuntuvat suoraan lähdekoodiksi! Luokkakaaviolla kuvataan ohjelmiston

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Perussanasto Luettelo organisaation toiminnan kannalta keskeisistä käsitteistä ja niiden määritelmistä Voidaan esittää Koko organisaatiolle

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A 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ä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

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

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

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 7: Olio-ohjelmointia: UML ja suunnittelumallit Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 14. 3. 2012 Sisältö 1 UML-luokkakaaviot

Lisätiedot

Luokka (class) esitetään suorakulmion avulla, jonka sisälle kirjoitetaan luokan nimi (vahvennettuna).

Luokka (class) esitetään suorakulmion avulla, jonka sisälle kirjoitetaan luokan nimi (vahvennettuna). Luokkakaavio (Class diagram) Oliokaavio (Object diagram) Luokka (class) esitetään suorakulmion avulla, jonka sisälle kirjoitetaan luokan nimi (vahvennettuna). Ikkuna Olio (object) on luokan ilmentymä (instance).

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

Ohjelmistojen mallintaminen. Luento 4, 12.11.

Ohjelmistojen mallintaminen. Luento 4, 12.11. Ohjelmistojen mallintaminen Luento 4, 12.11. Kertausta: Olioperustainen ohjelmistokehitys Lähdemme siis oletuksesta, että kehitettävän järjestelmän voidaan ajatella koostuvan oliosta Tehdään koko ohjelmistokehitys

Lisätiedot

Ohjelmistojen mallintaminen. Luento 3, 9.11.

Ohjelmistojen mallintaminen. Luento 3, 9.11. Ohjelmistojen mallintaminen Luento 3, 9.11. Kertausta: Ohjelmistotuotantoprosessin vaiheet Vaatimusanalyysi- ja määrittely Mitä halutaan? Suunnittelu Miten tehdään? Toteutus Ohjelmointi Testaus Varmistetaan

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

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen

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

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (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ä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

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

Osion kaksi kertaus. Jukka Juslin. Jukka Juslin

Osion kaksi kertaus. Jukka Juslin. Jukka Juslin Osion kaksi kertaus Jukka Juslin Sisältö Taulukot ja Stringit Luokkien kirjoittaminen Oletusmuodostin UML Taulukot Taulukot luodaan Java-kielessä seuraavanlaisesti: int [] arvosanat = {1,2,3,4,5}; Taulukon

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso 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ätiedot

Kertaus: yleistys-erikoistus ja perintä

Kertaus: yleistys-erikoistus ja perintä Kertaus: yleistys-erikoistus ja perintä Nauta, Lehmä ja Kuttu ovat Kotieläimiä, Kotieläimet Eläimiä Kotieläimillä (siis myös Naudoilla, Lehmillä ja Kutuilla) on Omistaja Kuttu ja Lehmä toteuttavat rajapinnan

Lisätiedot

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

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

Eija Järvelä Elina Puusaari. käsikirja

Eija Järvelä Elina Puusaari. käsikirja Eija Järvelä Elina Puusaari käsikirja Jyväskylän yliopisto Chydenius instituutti Kokkolan yliopistokeskus Kokkola 2005 OHRA projekti Ohjelmistoarkkitehtuurien integrointi ohjelmistotuotantoon Chydenius

Lisätiedot

Poikkeustenkäsittely

Poikkeustenkä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ä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

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

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

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. 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ätiedot

Sähköposti ja uutisryhmät 4.5.2005

Sähköposti ja uutisryhmät 4.5.2005 Outlook Express Käyttöliittymä Outlook Express on windows käyttöön tarkoitettu sähköpostin ja uutisryhmien luku- ja kirjoitussovellus. Se käynnistyy joko omasta kuvakkeestaan työpöydältä tai Internet Explorer

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

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

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävistä: Pankkitilit kotitehtävä 7 Toteuttakaa kotitehtävä 1:n kuvan mukaiset metodit open(), close(), deposit(), withdraw(), joilla voi Nostaa

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

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

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

Interaktiivinen tarinankerronta

Interaktiivinen tarinankerronta Interaktiivinen tarinankerronta Tehtävä 1: Tarinan alku pääohjelmaan Main. java ei tehdä muutoksia tulostusrivit tiedostoon Kayttoliittyma.java tulostus lyhyesti sout + tab komennolla Tiedoston Kayttoliittyma.java

Lisätiedot

Olio-ohjelmointi Suunnittelumallit Adapter ja Composite. 1. Adapter

Olio-ohjelmointi Suunnittelumallit Adapter ja Composite. 1. Adapter Olio-ohjelmointi Suunnittelumallit Adapter ja Composite Rakennemalleissa päähuomio kohdistetaan siihen, miten luokkia ja olioita yhdistellään muodostamaan laajempia rakenteita. Rakenteelliset luokkamallit

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

T Olio-ohjelmointi Osa 3: Luokka, muodostin ja hajotin, this-osoitin Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

T Olio-ohjelmointi Osa 3: Luokka, muodostin ja hajotin, this-osoitin Jukka Jauhiainen OAMK Tekniikan yksikkö 2010 11. Luokka Opetellaan seuraavaksi, miten omia luokkia kirjoitetaan. Aikaisemmin olikin jo esillä, että luokka on tietorakenne, joka sisältää sekä tiedot (attribuutit) että niitä käsittelevät aliohjelmat

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Kertausta: Olioperustainen ohjelmistokehitys

Kertausta: Olioperustainen ohjelmistokehitys Kertausta: Olioperustainen ohjelmistokehitys Lähdemme siis oletuksesta, että kehitettävän järjestelmän voidaan ajatella koostuvan oliosta Tehdään koko ohjelmistokehitys olioperustaisesti, eli vaiheittain

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!

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

ict02d Osio2- luento 3 Olio-ohjelmointi: Luokkien kirjoittaminen

ict02d Osio2- luento 3 Olio-ohjelmointi: Luokkien kirjoittaminen ict02d Osio2- luento 3 Olio-ohjelmointi: Luokkien kirjoittaminen Jukka Juslin Luokkien kirjoittaminen Tähänmennessä on käytetty valmiiksi määritettyjä luokkia. Nyt opimme kirjoittamaan omia luokkia olioiden

Lisätiedot

Tapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007

Tapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007 Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit

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

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kää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ätiedot

JUnit ja EasyMock (TilaustenKäsittely)

JUnit ja EasyMock (TilaustenKäsittely) OHJELMISTOJEN TESTAUS JA HALLINTA Syksy 2015 / Auvo Häkkinen JUnit ja EasyMock (TilaustenKäsittely) Tehtävässä tarvittava koodi löytyy osoitteella http://users.metropolia.fi/~hakka/oth/mockesimerkki.zip

Lisätiedot

Ohjelmistojen mallintaminen luokkamallin laatiminen

Ohjelmistojen mallintaminen luokkamallin laatiminen 582104 Ohjelmistojen mallintaminen luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue on

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. 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ä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

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

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

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin 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ätiedot

812341A Olio-ohjelmointi, 2016. Olio-ohjelmoinnin peruskäsitteet ja Java-kieli

812341A Olio-ohjelmointi, 2016. Olio-ohjelmoinnin peruskäsitteet ja Java-kieli 812341A Olio-ohjelmointi, 2016 Olio-ohjelmoinnin peruskäsitteet ja Java-kieli Sisältö 1. Java-kieli 2. Luokka 3. Luokkakaaviot 4. Lisää Javaa Javalla 2 Java-kieli n Sun Microsystems tutkimusprojekti 1991

Lisätiedot

Ohjelmistojen mallintaminen. Luento 7, 23.11.

Ohjelmistojen mallintaminen. Luento 7, 23.11. Ohjelmistojen mallintaminen Luento 7, 23.11. Kertaus: olioiden yhteistyön kuvaaminen Luokkakaavion avulla voidaan kuvata ohjelman rakenne Minkälaisista luokista ohjelma koostuu ja miten luokat liittyvät

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. Parametrinvälitys eräs monimuotoisuuden sovellus.

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

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. 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ätiedot

Graafisen käyttöliittymän ohjelmointi

Graafisen käyttöliittymän ohjelmointi TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Luento 2 Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa Sisältö Tapahtumapohjainen ohjelmointi Tapahtumakuuntelijoiden

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

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

13 Operaattoreiden ylimäärittelyjä

13 Operaattoreiden ylimäärittelyjä 248 13 C++-kielessä voidaan operaattoreita ylimäärittää. Ylimääriteltävää operaattoria voidaan pitää ikäänkuin metodina, joka esitellään luokan esittelyssä ja määritellään luokan ulkopuolella kuten metoditkin.

Lisätiedot

C# olio-ohjelmointi perusopas

C# olio-ohjelmointi perusopas Paavo Räisänen C# olio-ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

Lisätiedot

3. Käsiteanalyysi ja käsitekaavio

3. Käsiteanalyysi ja käsitekaavio 3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien

Lisätiedot

Lista luokan sisällä

Lista luokan sisällä Lista luokan sisällä Luokan sisällä on lista Joukkue-luokka, joka sisältää listän joukkueen pelaajista Pelaaja Joukkueen metodit, jotka käyttävät listaa Ohjelmaluokka Luokan sisällä on lista Tarkoitta

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. III Olioperusteinen ohjelmointi C++:lla

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. III Olioperusteinen ohjelmointi C++:lla 812347A Olio-ohjelmointi, 2015 syksy 2. vsk III Olioperusteinen ohjelmointi C++:lla Sisältö 1. Johdanto 2. Luokan määrittely ja jäsenten näkyvyys 3. Olion muodostaminen ja tuhoaminen 4. Saanti- ja asetusmetodit

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

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa Java-kielen jatkokurssi Teoria ja ohjelmointitehtävät Java-kielen jatkokurssi 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 8 JAVA-KIELEN JATKOKURSSI... 8 OPISKELUN

Lisätiedot

Olio-ohjelmointi Johdanto olio-ohjelmointiin

Olio-ohjelmointi Johdanto olio-ohjelmointiin Olio-ohjelmointi Johdanto olio-ohjelmointiin Ohjelmistoa kehitettäessä voidaan tunnistaa ainakin kaksi abstraktiota: prosessiabstraktio ja dataabstraktio. Prosessiabstraktio huomattiin jo varhain, koska

Lisätiedot

Antti-Jussi Lakanen Ohjelmointi 1, C# / kevät 2011

Antti-Jussi Lakanen Ohjelmointi 1, C# / kevät 2011 Antti-Jussi Lakanen Ohjelmointi 1, C# / kevät 2011 Yleistä olioista ja OOP:sta OOP, eng. Object Oriented Programming C#:ssa oliot luodaan käyttämällä (olio)luokkia Olio tarkoittaa yksinkertaisesti ohjelman

Lisätiedot

Muuttujat ja kontrolli. Ville Sundberg

Muuttujat ja kontrolli. Ville Sundberg Muuttujat ja kontrolli Ville Sundberg 14.9.2007 Alkeistyyppi Alin abstraktiotaso josta tarvitsee välittää Yksittäinen, jakamaton tiedonjyvä Tavallaan kaikki alkeistyypit ovat lukuja arvojoukko vaihtelee

Lisätiedot

Osa III. Olioiden luominen vapaalle muistialueelle

Osa III. Olioiden luominen vapaalle muistialueelle Osa III 10. oppitunti Kehittyneet osoittimet Eräs tehokkaimpia C++ -työkaluja on mahdollisuus käsitellä tietokoneen muistia suoraan osoittimien avulla. Tässä luvussa käsitelläänkin seuraavia aiheita: Kuinka

Lisätiedot

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Sisä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ätiedot

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi lötköjen kansoittamaa alkulimaa simuloiva olioperustainen ohjelma Java-kielellä. Lötköt säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

Lisätiedot

KYMP Webmail -palvelu

KYMP Webmail -palvelu KYMP Webmail -palvelu Sisältö 1. Kirjautuminen... 3 2. Viestin merkinnät... 4 3. Viestien lukeminen... 4 Viestiin vastaaminen... 4 Viestin välittäminen edelleen / uudelleen ohjaus... 5 4. Viestin kirjoittaminen...

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

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