Ohjelmointitekniikka (Java) - Kevät 2008 - Kurssikoe 28.2.
Arvosteluperusteet
25.3.2008 Tuomas Blom
1. Poikkeukset
a) Poikkeusten luokkahierarkia (max 3 pistettä)
- 1p: Luokkahierarkia piirretty/selitetty oikein
- 1p: Eri luokkien roolit selitetty riittävän hyvin
- 1p: Selvitetty, miten tarkistetut ja tarkistamattomat poikkeukset ovat erilaisia käännettäessä
(checkedit täytyy käsitellä tai julistaa heitettäviksi)
b) Poikkeusten heittäminen (max 3 pistettä)
- 1p: Tarkistettu poikkeus, kun tilanteesta voidaan yrittää toipua
(poikkeuksellinen, mutta odotettavissa oleva tilanne)
- 1p: Tarkistamaton poikkeus, kun kyseessä on ohjelmointivirhe
(oliota/metodia käytetty väärin tms.)
- 1p: Omat poikkeukset Exceptionin tai RuntimeExceptionin aliluokkina
(Asioita ei tarvinnut selittää välttämättä juuri a)- tai b)-vastauksessa,
kunhan kävi tehtävästi ilmi)
2. Kokoelmat ja geneerisyys
a) Collections Frameworkin päätyypit (max 4 pistettä)
- 2p: Jakautuu päätyyppeihin Collection ja Map (1p jos vain toinen oikein)
(pisteen sai myös, jos luokkia ei nimennyt, mutta määritteli jakautuvan
"yksittäisten arvojen kokoelmiin ja avain-arvo -parien kokoelmiin" tjms.)
- 1p: Collectioneissa yksittäisiä arvoja, Mapeissa avain-arvo -pareja
- 1p: Mapin avainten ja arvojen joukot ovat Collectioneja
- 1p: Mapia ei voi iteroida suoraan, kaikkia Collectioneja voi
b) Abstraktit kokoelmaluokat (max 4 pistettä)
- 1p: Tarkoituksena helpottaa omien kokoelmaluokkien toteuttamista
- max 3 pistettä lopusta selityksestä:
- Abstraktin kokoelman aliluokan riittää toteuttaa vain muutama metodi
- Muut rajapinnan metodit peritään abstraktilta luokalta
- Yläluokka toteuttaa muut metodit abstraktien metodien avulla
- ...mutta jotkut metodit voivat vain heittää poikkeuksen
- Mikään ei kuitenkaan estä aliluokkaa toteuttamasta muitakin metodeita
c) Luokka Pair (max 4 pistettä)
- 1 piste kustakin:
- Pair EI OLE Pair