Ohjelmoinnin perusteet, syksy 2005 kurssikoe 17.10.2005 A.Wikla tehtävä 2, korjannut Teemu Sjöblom Tehtävässä oli tarjolla pisteitä enimmillään 18. Pisteitä annettiin pääsääntöisesti asteikolla 0,4,8,12,16,18. (0,heikko,välttävä,tyydyttävä,hyvä,erinomainen) Muitakin pisteitä saatettiin antaa mikäli kysessä oli vaikeasti määriteltävä rajatapaus. Suurin määrä vastauksista sijoittui kahdeksan ja neljäntoista pisteen välille. Useimmat menetykset pisteissä johtuivat siitä ettei oltu vastattu johonkin tehtävän osaan ollenkaan. Kuvaukset olioiden ja kapseloinnin hyödyistä saattoivat olla usein heikot, jopa puuttua kokonaan vaikka oliot ja niiden käyttö kyllä osattiin selittää. Lisäksi tehtävissä katsotiin vastauksen tasoa asiaa osaamattoman lukijan näkökulmasta. Tehtäväannossa mainittuja esimerkkejä ja kuvia kaipailtiin myös. Moni oli piirtänyt kuvan ulkomuistista kirjasta/ luentomateriialista kopioiden. Kuvassa oli olio+sen kentät ja aksessorit. Kuvasta ei kuitenkaan käynyt millään muotoa ilmi mitä mikäkin symboli pallon sisällä tai ulkokuorella tarkoitti. Perässä on osa asioista joiden kertomisella pistesaldoansa saattoi kartuttaa: Olio, mikä hemmetin olio? ----------------------------------- -Olion määrittely (Koneen piirustukset) = muuttujat, konstruktorit, aksessoritmuodostavat luokan -New operaatiolla + konstruktorilla luodaan uusi olio -> olio on luokan ilmentymä -Konstruktoreita voidaan kuormittaa eri määrällä parametreja -Konstruktori asettaa olion alkutilaan -Olio asuu "langan" päässä -Samoista määrittelyistä voidaan luoda mielivaltainen määrä olioita -Olioiden tila on toisista olioista riippumaton -Luokkaa voidaan käyttää muuhunkin kuin olion mallin määrittelemiseen -> Olion luominen luokasta on vain yksi luokan käyttötapa Ja mitä ihmeen kapselointia? ---------------------------------------- -Olion tietorakenne jää käyttäjältä piiloon -> kentät privaatteja -Asioiden suoritustapa jää piiloon käyttäjältä -Käyttäjän ei tarvitse tietää miten jokin asia tehdään-> korkampi abstraktiotaso->helpompi hahmottaa asiat -Julkiset aksessorit joilla olion tilan voi selvittää ja sitä voi muuttaa -Toimintavarmempaa koodia ->Olion tietorakenne voi mennä virheelliseen tilaan vain aksessoreissa sijaitsevan virheen vuoksi Onko 'API-kuvaus' jokin valokuvauksen laji? ----------------------------------------------------------- -Rajapinta ohjelmoijalle -Ei tarvitse keksiä tai tehdä samoja asioita uusiksi -Olioon päästään käsiksi sen olion API:n kautta. -API = application programmin interface -API ei ole rajoittunut vain antamaan vipuja ja nappeja olioihin- kirjastoluokat