19/20: Ikkuna olio-ohjelmoinnin maailmaan



Samankaltaiset tiedostot
8/20: Luokat, oliot ja APIt

5/20: Algoritmirakenteita III

11/20: Konepelti auki

12/20: Bitit talteen

7/20: Paketti kasassa ensimmäistä kertaa

13/20: Kierrätys kannattaa koodaamisessakin

1. Olio-ohjelmointi 1.1

17/20: Keittokirja IV

14/20: Keittokirja I

6/20: Tietorakenteita

Ohjelmointi 1 / syksy /20: IDE

4/20: Algoritmirakenteita II

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

P e d a c o d e ohjelmointikoulutus verkossa

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

2. Olio-ohjelmoinista lyhyesti 2.1

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (5 op) Tavoitteena

Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

4. Olio-ohjelmoinista lyhyesti 4.1

15. Ohjelmoinnin tekniikkaa 15.1

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Kesäkurssi Opettaja: Paavo Nieminen Tervetuloa!

Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä

Mikä yhteyssuhde on?

Ohjelmistotekniikan menetelmät, kesä 2008

9/20: Puhu mun stdinille

4. Luokan testaus ja käyttö olion kautta 4.1

P e d a c o d e ohjelmointikoulutus verkossa

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Java-kielen perusteet

Ohjelmoinnin jatkokurssi, kurssikoe

Hakemistojen sisällöt säilötään linkitetyille listalle.

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli

15. Ohjelmoinnin tekniikkaa 15.1

Olio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 1 / syksy Ensimmäinen luento. Paavo Nieminen.

JAVA-OHJELMOINTI 3 op A274615

Organisaatio- a ja yhteiskuntaosaaminen. - ja vuorovaikutusosaaminen istoiminnan osaaminen toimintaosaaminen. Kansainvälisyysosaaminenn

Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

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

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Muutamia peruskäsitteitä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia

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

Kertaus: yleistys-erikoistus ja perintä

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

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

Aalto Yliopisto T Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Olioiden yhteistyön mallintaminen

Olio-ohjelmointi Johdanto olio-ohjelmointiin

KTKO104. Luento

Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

Ohjelmoinnin perusteet Y Python

Sopimuspohjainen olio-ohjelmointi

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

1. Mitä tehdään ensiksi?

Oliot viestivät metodeja kutsuen

Ohjelmointi 2, välikoe

Kurssiesite Lausekielinen ohjelmointi I Kesä Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton


Tähtitieteen käytännön menetelmiä Kevät 2009

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

AS C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

Tieto- ja viestintätekniikan opinnot Jyväskylän yliopistossa

Ohjelmistotekniikan menetelmät, kevät 2008

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

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Studio 1 syksy Janne Käki

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Olio-ohjelmointi Suunnittelumallit Adapter ja Composite. 1. Adapter

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Ohjelmistojen mallintaminen, kesä 2010

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi Syksy Tavoitteet ja keinot. Lausekielinen ohjelmointi (10 op)

Tietokoneen toiminta (Computer Organization I)

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

Asko Ikävalko, k TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

Tietokoneen toiminta (Computer Organization I)

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus klo 10:00

Ohjelmoinnin peruskurssien laaja oppimäärä

Luento 3. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä

Oliot ja tyypit. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos

Ohjelmoinnin perusteet Y Python

Transkriptio:

Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8

Tämän luennon rakenne Jatketaan demovastausten oikaisuhoitoa eli miten tulevaisuudessa teet parempia ohjelmia. Toiveuusintoja: Suoritusjärjestys, viitemuuttujien piirtäminen; mitä muita muuttujia on kuin paikallisia muuttujia; while-rakenteen käyttöesimerkki. Ikkuna olio-ohjelmoinnin maailmaan : tehdään itse pieni leluluokka, johon kuuluvia olioita voi tehdä. Ohjelmointi 1 / syksy 2007 p.2/8

Demo demosta Katsotaan paria sattumanvaraisesti valittua demovastausta, ja mietitään saisiko niistä ehkä jotenkin paremmat pienellä tuunaamisella.... Varsinainen algoritmi käsiteltävien vastausten valitsemiseksi oli: 1. Valitse satunnainen demovastaus 2. Jos vastaus on liian hyva, toista kohdasta 1. 3. Lopulta loytyy jotain, mistä voi oppia. Ohjelmointi 1 / syksy 2007 p.3/8

Toiveuusintoja Suoritusjärjestys, viitemuuttujien piirtäminen mitä muita muuttujia on kuin paikallisia muuttujia; while-rakenteen käyttöesimerkki. Mitä muuta halutaan kerrata? Ohjelmointi 1 / syksy 2007 p.4/8

Ikkuna olio-ohjelmoinnin maailmaan tehdään pieni leluluokka, josta voi tehdä olioita. Huomioitavaa: Olion luomista sanotaan myös instantoinniksi (engl. instantiation). Olioyksilöä sanotaan instanssiksi (engl. instance). Olion sisältämiä data-alkioita sanotaan attribuuteiksi (engl. attribute). Olion rajapinta koostuu julkisista metodeista Oliot sijaitsevat kekomuistissa. Instanssia käytetään kutsumalla luokassa määriteltyä metodia instanssin viitteen kautta. Pääsääntö: Attribuutit privaateiksi! Käyttö ns. saanti- ja asetusmetodien (engl. getters, setters) kautta. Olio-ohjelmointi ja niihin liittyvä ajatusmalli kannattaa opetella kunnolla. Ohjelmoinnin näkökulmasta mm. kurssit Ohjelmointi 2 + lisäosat, GKO. Kaiken takana pysyvät Ohjelmointi 1:llä nähdyt perusasiat: Tietokoneen toiminta, datan esitysmuodot, suoritusjärjestyksen ohjaus, aliohjelmat (joita olio-ohjelmoinnissa sanotaan metodeiksi tai jäsenfunktioiksi). Ohjelmointi 1 / syksy 2007 p.5/8

Oppikirjaviitteet / koko kurssi Oppikirjasta (Vesterholm & Kyppö: Java-ohjelmointi, 6., uudistettu p.) tätä kurssikertaa tukevaksi sisällöksi muodostui: luku 5 Luokat ja oliot, kaikki paitsi 5.7 Luokkakaavion luokan toteuttaminen (vielä ei itse tehty instantoitavia luokkia kuin kokeilun vuoksi viimeisessä demossa). luku 6 Kontrollirakenteet, kokonaisuudessaan. luku 7 Merkit ja merkkijonot, kokonaisuudessaan. luku 8 Taulukot, kokonaisuudessaan. luku 11 Kun jokin menee kuitenkin pieleen poikkeukset, kokonaisuudessaan luku 12 Testaus ja virheiden etsintä ( assert jää tulevaisuuden haasteeksi; debuggeri sen sijaan todella tärkeä!) luku 13 Mistä apua?, kokonaisuudessaan luku 20 Tiedostot ja tietovirrat, alkupuoli, sivut 461-466. Ohjelmointi 1 / syksy 2007 p.6/8

Mitä seuraavaksi Seuraavia sivuttiin kurssilla hyvin alustavasti. Jos jostain syystä et pääse Ohjelmointi 2:een, näistä on hyvä jatkaa omatoimisesti: luku 9 Javan perusteet, Ei kuulu Ohjelmointi 1:een, mutta ON SEURAAVA opiskeltava asia pian ykkösen jälkeen, jos jatkaa Java-kielellä. luku 10 Kokoelmat olioiden säilyttäjät, käsiteltiin hyvin köykäisesti. Myös heti seuraavaaksi! Luvut 1-4 voi selata jossain vaiheessa pikajohdannoksi oliomaiseen suunnitteluun. Näiden lisäksi oppikirjan loppupuoli tarjoaa johdannot Javan käyttämiseen ohjelmoinnin perusgenreihin: Graafiset käyttöliittymät, Internet, komponenttiohjelmointi ja tapahtumapohjaisuus, rinnakkaisuus & säikeet (yhä tärkeämpää tulevaisuudessa, kun moniydinprosessorit yleistyvät), tietokannat. Mm. oliosuunnitteluun kannattaa hakea oppia lisäkirjallisuudesta tai kursseilta! Ohjelmointi 1 oli vain erittäin lyhyt johdanto! Ohjelmointi 1 / syksy 2007 p.7/8

Huomenna viimeistä kertaa Huomenna eli 20.11.2007 on viimeinen luento klo 10-12. Paikka on Auditorio 2! Tukiopetukset ja demot jatkuvat tämän viikon. Ohjelmointi 1 / syksy 2007 p.8/8