1. Olio-ohjelmointi.

Slides:



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

Koostumussuhde Jukka Juslin © Jukka Juslin.
12. Monimuotoisuus Sisällys •Johdanto. •Periytymismekanismi määrittää alityypityksen. − Viitteiden sijoitus ja vertailu. •Staattinen ja dynaaminen.
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
JavaScript (c) Irja & Reino Aarinen, 2007
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
2. Olio-ohjelmoinnin perusteita
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Olio-ohjelmointi. Mitä olio-ohjelmointi on ?  Pyritään mallintamaan jotain reaalimaailman kohdetta tietokoneohjelman avulla  Olio on luokan ilmentymä.
1. Olio-ohjelmointi.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Ohjelmiston toteutus (teknisestä näkökulmasta)
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  PÄIVÄOPISKELIJAT: – KAKSI LUOKAA (SUOMI) –YKSI LUOKKA (ENGLANTI)
Ohjelman jakaminen useampaan tiedostoon Olio-ohjelmointi (C++) KYAMK, Jarkko Ansamäki 2001.
Oliomallittaminen ja UML
(Joskus puhutaan myös komponenttitestauksesta.) Pienin kokonaisuus, joka on järkevä testata erikseen. ● Perinteisesti yksittäinen aliohjelma. ● Olio-ohjelmien.
2. Vuokaaviot.
Oliosuunnittelu.
Sami Jantunen LTY/Tietotekniikan osasto
© Lammi-Niskala-Kossarev ADT:n toteutus Imperatiivinen paradigma Imperatiivinen paradigma toimenpiteet aktiivisia, tiedot passiivisia toimenpiteet.
13. Hyvä ohjelmointitapa (osa 1)
© Jukka Harju, Jukka Juslin
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Ohjelmat.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
Visual Basic -ohjelmointi
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia
© Lammi-Niskala-Kossarev 1 Kertausta (lu 05-06) Algoritmin perusvaatimukset Miksi ei luonnollista kieltä ohjelmointiin Syntaksi, semantiikka ja pragmatiikka.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
Systeemityö 2 Vesiputousmalli Teppo Räisänen, Principal Lecturer
Hyvä ohjelmointitapa (osa 2) Yleistä Lisää hyviä ohjelmointikäytäntöjä: − Jaa pitkä koodi osiin. − Käytä attribuutteja säästeliäästi.
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia 2011,2012.
Uudelleenkäyttö. Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  AVOIMEN OPISKELIJAT: – YKSI LUOKA (SUOMI) – LUOKKA ICT02O-1.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
1 Ohjelmointikielten varhaishistoria Esa-Matti Miettinen
– Ohjelmistojen mallintaminen, mallintaminen ja UML.
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ö
Lasilaatikkotestauksen toinen lähestymistapa. ● Siinäkin käytetään vuoverkkoa. ● Tarkastelun kohteena ovat moduulin muuttujat (myös sen käyttämät globaalit.
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
8. Periytyminen Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö.
15. Ohjelmoinnin tekniikkaa
Logiikkakielen upottaminen olio- ohjelmaan Pietu Pohjalainen.
Toteutusvaihe l Toteutuksen välineistä l Ohjelmointikielen valinnasta l Ohjelmointiparadigmoista l Yleisohjeita ohjelmoinnista l Toteutusvaiheen dokumentit.
Ohjelmassa tänään Ohjelmointimallit Pseudokieli Modulaarisuus.
1.0 TE DiplomityöEsitelmä/ / JT Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olio- orientoituneeseen ohjelmointiin Jukka.
Olio-ohjelmoinista lyhyesti. 2.2 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen.
Yksikkötestaus ● Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin.
3. Olio-ohjelmoinista lyhyesti
Tentti.
1. Olio-ohjelmointi.
7. Hyvä ohjelmointitapa..
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
14. Hyvä ohjelmointitapa.
Aakkosnumeerinen tieto
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
8. Periytyminen.
7. Hyvä ohjelmointitapa..
OHJELMOINTITAITO ICT02D 12 ECTS.
OHJELMOINTITAITO ICT02D 12 ECTS.
3. Attribuutit.
4. Luokan testaus ja käyttö olion kautta
2. Olio-ohjelmoinnin perusteita
OHJELMOINTITAITO ICT02D 12 ECTS.
Esityksen transkriptio:

1. Olio-ohjelmointi

Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä.

Ohjelmointiparadigmoja Tietokoneohjelman toteuttamiseksi on tarjolla useita enemmän tai vähemmän toisistaan poikkeavia lähestymistapoja eli ohjelmointiparadigmoja. Paradigmoissa kiinnitetään vaihtelevasti huomiota tietoihin ja toimintoihin. Imperatiivinen paradigma on yleisin tapa ohjelmoida. Ohjelmalla on tila, jota muutetaan vaiheittain käskyillä. Proseduraalinen ja olio-ohjelmointi ovat imperatiivisen paradigman suuntauksia. Funktionaalinen ohjelmointi (esimerkiksi Lisp) ja logiikka-ohjelmointi (esimerkiksi Prolog) ovat muut pääparadigmat.

Proseduraalinen ohjelmointi Entinen valtaparadigma, jossa ohjelma jaetaan pienempiin osiin helposti ymmärrettäviksi ja hallittaviksi aliohjelmiksi. Rakenteinen ohjelmointi on eräs tämän paradigman muoto. Kehitettiin ohjelmistokriisin ratkaisuksi 1970-luvulla. GOTO-lause korvattiin ohjausrakenteilla (valinta ja toisto), jolloin päästiin eroon "spagettikoodista". Ohjelman rakennetta selvennetään sisentämällä. Tuloksena helpommin ymmärrettäviä ja ylläpidettäviä ohjelmia. Muun muassa Fortran, COBOL, Basic, Pascal, C, C++.

Proseduraalinen ohjelmointi Tiedot (globaalit muuttujat ja tietorakenteiden määrittelyt) ja niihin liittyvät toiminnot (aliohjelmat) ovat erilliset. Päätavoitteena on määritellä modulaarisuusperiaatteen mukaisesti mahdollisimman pitkälti toisistaan riippumattomia aliohjelmia, jotka kommunikoivat keskenään liittymiensä (paluuarvo ja paramerit) kautta. Tiedot … Toiminnot …

Olio-ohjelmointi Nykyisin vallitseva ohjelmointi-paradigma, jossa ohjelman keskiössä ovat tiedot. Oliokielet tukevat olioparadigmaa vaihtelevasti. Muun muassa Java, C++ ja Smalltalk. Tiedot (attribuutit) ja niihin liittyvä toiminnallisuus (metodit) on yhdistetty luokiksi. Toiminnot … Tiedot

Ohjelmointiparadigmoja C++ on hybridikieli, jossa oliomekanismit liitetty perinteiseen C-ohjelmointikieleen. C++:lla on helppo kirjoittaa huono olio-ohjelma. Monet ohjelmointikielet ovat itse asiassa moniparadigmakieliä, joissa kieli sisältää usean ohjelmointiparadigman käsitteitä. Javaankin sisältyy paljon rakenteisen ohjelmoinnin käsitteitä, vaikka Java luokitellaan lähes puhtaaksi olio-ohjelmointikieleksi.

Ohjelmiston analyysi ja suunnittelu Olioparadigma ei rajoitu pelkästään ohjelmointiin: Ohjelmistoja analysoidaan ja suunnitellaan olioperustaisesti (Object-Oriented Analysis/Design, OOA/D). Kurssilla käytetään UML:ää lähinnä OOA-tehtäviin. Luokkakaavioita tulee pian kalvoilla vastaan, mutta laajemmin UML opetetaan kurssin loppupuolella. Myöhemmillä kursseilla UML:ää enemmänkin sovelletaan kuin opetetaan.

Olioparadigman etuja Vastaa paremmin ihmisen tapaa hahmottaa maailmaa kuin esimerkiksi tiettyyn laskentamalliin perustuva ohjelmointiparadigma. Ohjelmisto on samanrakenteinen sovellusalueen käsitteiden kanssa, jolloin ylläpito on helpompaa ja ylläpitokustannukset pienempiä. Ympäristössä tapahtuva muutos aiheuttaa olio-ohjelmaan karkeasti saman kokoisen muutoksen (jatkuvuus). Rakenteisessa ohjelmoinnissa esimerkiksi yhden globaalin muuttujan poisto saattaa “rikkoa” koko ohjelman. Tukee ohjelmiston osien uudelleenkäyttöä.

Olioparadigman kritiikkiä Turhan raskas ja monimutkainen lähestymistapa pienten sovellusten toteuttamiseen. Olioparadigmaan kuuluva hierarkkinen käsitteiden välinen periytymismekanismi ei sovi jokaisen sovellusalueen kuvaamiseen. Olioperustaisuuden odotetut hyödyt jääneet osin toteutumatta. Olioperustaisuudesta voi olla enemmän haittaa kuin hyötyä ensimmäisellä ohjelmointikurssilla.