Taso ja pistearvo: | A 90 |
---|---|
Lyhyesti: | Luodaan pääohjelma, jonka avulla koekäytetään annettua pankkitililuokkaa. |
Mitä opitaan: | Luomaan ja käyttämään olioita, kutsumaan metodeja, testaamaan annetun luokan toimintaa. |
Toteuttamisen vapaus: | Vähäinen. Tässä seurataan vaihe vaiheelta annettua ohjetta. |
Realistisuus: | Työskentelytavan osalta korkea. Testiohjelman kirjoittaminen jonkin luokan testaamiseen on käytännön ohjelmoinnissa tarvittava taito. Tässä opetusesimerkkinä käytetty pankkitililuokka nyt ei toki ole realistinen; oikean elämän pankkisovellukset ovat tietenkin paljon mutkikkaampia. |
Haastavuus: | Ei kovin hankala, jos pohjatyö (eli edelliset tehtävät) on tehty ajatuksella. |
Työläys: | Kevyt tehtävä. Useimmat (ohjelmoinnin aloittelijatkin) selvinnevät tästä parissa tunnissa. |
Kirjoittakaa ohjelma, jonka avulla voi testata
miten pankin asiakkaita ja tilejä kuvaavat luokat toimivat. Nuo kaksi luokkaa -- Customer
ja Account
--
annetaan valmiina. Teidän ei tarvitse kirjoittaa tai edes lukea niiden ohjelmakoodia.
Projektin readme-tiedostosta löytyvän kuvauksen perusteella pystytte käyttämään luokkia ja tekemään tämän
tehtävän vaikkette tiedäkään miten luokkien sisäinen toteutus toimii. Luokkien Customer
ja
Account
sisäistä toteutusta tutkitaan ja muokataan myöhemmässä tehtävässä.
Tässä tehtävässä kirjoitettavan ohjelman pitäisi luoda olioita ja kutsua niiden metodeja täsmälleen tietyllä alla kuvatulla tavalla. Myöhemmissä tehtävissä pääsette vapaammin soveltamaan tässä ja aiemmissa tehtävissä oppimianne perusasioita. Tässä tehtävässä teidän kuitenkin tulee seurata seuraavia ohjeita täsmälleen ja järjestyksessä:
readme.html
), josta selviää, miten annettuja luokkia
käytetään. (Alihakemistossa doc
on myös dokumentaatiota luokista, mutta ÄLKÄÄ lukeko sitä vielä
sillä se liittyy myöhempään tehtävään ja voi johtaa harhaan tämän tehtävän suorittamisessa.)
Customer
ja Account
käyttöä Python-tulkin avulla (ei välttämätöntä).
Muistakaa antaa ensin sopiva import
-käsky, jotta voitte käyttää pakkauksesta
account
löytyviä luokkia. Käyttäkää readme-tiedoston kuvausta apuna tutkiaksenne, miten
kukin luokkien metodeista toimii. Kun teillä on mielestänne riittävän hyvä käsitys luokkien käytöstä,
edetkää seuraavaan kohtaan.
account_test.py
kansioon account
(sinne, missä account.py ja customer.py ovat).
get_balance
) ja tulostakaa vastaus.
Esimerkkiajo:
0 4000 1500 -500 0 1300 -1800Vapaaehtoinen Mutta Erittäin Hyödyllinen Kohta: Koeajakaa ohjelmanne rivi riviltä debuggerityökalua apuna käyttäen. Ohjeet debuggerin käytöstä löytyvät kurssin kotisivuilta. Debuggerin käyttö on erittäin suositeltavaa! Ohjelman suorituksen tutkiminen askel askeleelta antaa konkreettisen kuvan ohjelman toiminnasta ja on suureksi avuksi niin uusia ohjelmointitekniikoita opeteltaessa, uusiin ohjelmakokonaisuuksiin tutustuttaessa kuin virheitä ohjelmasta etsittäessä. Debuggerin käytön opettelu vie hetken, mutta maksaa itsensä moninkertaisesti takaisin kurssin mittaan. Voitte myös pyytää harjoitusryhmän assistentilta apua debuggerin käytön opettelussa. Älä epäröi käyttää debuggeria apuna myös myöhemmissä tehtävissä ilman erillistä kehotusta!
Palauttakaa luomanne kooditiedosto account_test.py
arvosteltavaksi Goblin-järjestelmään.