Nivå och poängvärde: | A 30 |
---|---|
Kort beskrivning: | Vi kompletterar en metod i en klass. |
Vad vi lär oss: | Redigering av programkod i Eclipse, mera övning i att skapa objekt och använda metoder. |
Frihet i implementationen: | Liten. Här följer man instruktionerna till punkt och pricka. |
Realism: | Medel. Grundkommandona som här behandlas är nyttiga och behövs i alla program. |
Utmaning: | Lätt, bara man kan läsa innantill. |
Arbetsmängd: | Lätt. De flesta behöver en timme eller två. |
I denna uppgift modifierar vi en given programkod en aning.
Hittills på kursen har vi inte rört programkoden i projekten vi använt, vi har bara använt koden som sådan. Låt oss nu bekanta oss med Phone-projektet och ändra det lite:
Call
- och PhoneBill
-klasserna med vilka man kan beskriva faktureringsinformation om telefonsamtal.
call.py
i Eclipse. I filen finns en metod get_price()
som börjar på rad 61. Metoden saknar dock funktionalitet. Som man ser i dokumentationen, borde metoden returnera samtalets totala pris. Uppgiften är alltså att lägga till raden som fattas i metoden, som räknar ut det slutliga priset och returnerar det. Kom ihåg att värdena som ska användas är objektets instansvariablers värden. Totala priset räknas med formeln (totalt startpris) + (totalt minutpris) * (samtalets längd).
phone_call
, med vilken man kan hänvisa till ett Call
-objekt. Skapa ett nytt samtalsobjekt och peka variabeln på objektet.
get_price
och get_description
för det skapta objektet och skriv ut deras returvärden.
PhoneBill
-klassen) och skapa en telefonräkning för en person med namnet Hessu Hopo. Lägg till båda telefonsamtalen till räkningen med add_call
-metoden.
get_total_price
och get_breakdown
.
Hessu Hopo: - 10min, 0.7089e (0.2099e + 0.0499e/min) - 20min, 0.9079e (0.1099e + 0.0399e/min)
Lämna in den modifierade kodfilen call.py i Goblin. Testmodulen behöver inte lämnas in.