1.Vastaa lyhyesti ja täsmällisesti seuraaviin kysymyksiin: a) Mikä tärkeä ero on int-parametrin ja String-parametrin käsittelyssä? b) Mitä tarkoittaa metodin kuormittaminen? c) Milloin metodin muuttuja syntyy? Milloin se häviää? d) Mikä on olio? e) Mihin public String toString() -metodia käytetään? Lyhyet ja täsmälliset vastaukset tosiaan riittivät. Valitettavan välillä kävi niin että pitkän selityksen alusta löytyi oikea vastaus mutta asiaa useampaan kertaan selitettäessä asiat menivät niin pahasti pieleen että sakotin miinuksella. Vastaukset: a) Int on alkeistyyppi ja string olio. Näin ollen stringparametria välitettäessä kopioidaan viite, intistä taas arvo. 'string roikkuu tavallaan langan päässä'-tyyppiset vastaukset kelpasivat. Täyteen pisteeseen vaadittiin sekä tuo olio-alkeistyyppimaininta että parametrivälityksen maininta. Pisteitä ei herunut siitä että kertoi stringin olevan merkkijono ja intin lukuarvo. b) Metodin kuormittaminen = käytetään samannimisiä metodeita joilla toisistaan tyypiltään ja/tai määrältään eroavat parametrit. Metodia kutsuttaessa parametrien perusteella valitaan sopivin käytettäväksi. Tämä tehtävä oli säännönmukaisesti joko täysin oikein tai täysin väärin. Tavallinen paramtrivälitys ei ole kuormittamista! c) Metodin suorituksen alussa selvitetään todellisten parametrien arvot ja siis varataan niille muistipaikat. Metodin suorituksen lopussa kaikkien metodien muuttujien paikat vapautetaan (arvot eivät siis 'säily' suorituksesta toiseen). Yleisempää: lohkon sisällä määritelty muuttuja syntyy määrittelykohdassaan ja sen muistipaikka vapautuu kun lohkosta poistutaan. Täyteen pisteeseen riittää: muuttujat syntyvät kun metodia kutsutaan ('kun metodi käynnistyy' jne) ja häviävät kun metodin suoritus loppuu ('metodista poistuttaessa' jne). Moni selitti tässä pitkään yleisesti siitä mitä ovat metodin muodolliset parametrit jne. Ei lisäpisteitä siitä. Roskienkerääjän mainitsi moni, hyvähyvä, ekstrapisteitä ei siitä kuitenkaan tippunut :-) d) Olio on luokan ilmentymä. Valitettavan usein törmäsi hienoihin, pitkiin vastauksiin joissa aivan oikein selitettiin mikä on luokka. Tätähän ei kuitenkaan kysytty. Tuotti kuitenkin noin plussan verran jos muuten olion ideasta oli jotain kerrottu. 'Olio on semmoinen mikä on langan päässä' tai 'viitteen päässä' yms. tuottivat pisteen puolikkaan. 'Luokka on tavallaan piirustukset, olio kone/toiminnallisuus'-tyyppiset vastaukset -> 1 piste. e) (Mikäli sellainen on luokassa määritelty,) toString metodilla saa helposti tietoa olion sisäisten muuttujien tilasta. Käyttö: kun olion nimi esiintyy sellaisenaan jossain missä vaadittaisiin merkkijonoa, käytetään toString-metodin tulostetta (esim. S.o.p(OlioX)). Pelkästään 'saa tietoa olion muuttujien tilasta' -> ½ pistettä. Jos lisäksi jotenkin oli vastauksesta pääteltävissä se, että toString täytyy itse luokkaan ohjelmoida -> 1 piste. Käytön selventäminen (olionimi sellaisenaan-> merkkijono) tuotti myös pisteen puolikkaan. (yhteensä siis kuitenkin vain 1 piste)