6. Övningar
Programmeringsteknik
Teori | Övningar | Exempel1 | Exempel2 | Inlämningsuppgift 3: Nöjesfält |
Objektorientering
Fråga: Vi vill skriva ett program för att lägga patiens. Vilken av följande klasser ska vi definiera i programmet?
- Poäng
- Spader
- Kort
Svar:Klassen Kort, så att vi kan skapa många kort-objekt som kan användas i patiensen.
Attribut
Fråga: Anta att vi jobbar med ett program för vitvaruhandeln. Vilka av följande alternativ skulle passa som attribut för ett spis-objekt?
- bredd
- energiklass
- ugnsvolym
Svar:Alla alternativen skulle passa bra som attribut!
Metoder
Fråga: I en internetbutik vill vi ha ett objekt som representerar en kundvagn. Vilka av följande kan tänkas bli metoder i ett kundvagns-objekt?
- lägga ner en vara i kundvagnen
- beräkna totalpriset för alla varor i kundvagnen
- räkna ut dagens vinst för internetbutiken
Svar:Alla utom sista alternativet - det hör inte till själva kundvagnen.
Speciella metoder: konstruktorn och str
Fråga: Vilket av följande måste en konstruktor ha?
- parametern self
- en parameter för varje attribut
- ett returvärde
Svar:Parametern self är det enda som måste vara med. Attributen kan få värden via parametrar (som namn ovan), men det är inte nödvändigt. Konstruktorn ska inte ha något returvärde.
Klassen
Fråga: Kan man skriva Husdjur.banna()? Svar:Nej, man kan bara banna ett husdjursobjekt, inte hela klassen.
Exempel: Husdjursprogrammet
- Fråga: Hur många objekt skapas i programmet?
Svar:Bara ett - variabeln djur.
- Fråga: När metoden visaSkick skriver ut att husdjuret är trött - vilka värden har attributet skick då?
Svar:Attributet skick har något av värdena 1,2,3,4 eller 5
- Fråga: Hur avslutar man programmet?
Svar:När man trycker på Retur avslutas programmet. Lägg gärna till en print-sats som upplyser användaren om det!
- Fråga: Hur många metoder finns det i klassen Husdjur?
Svar:Det finns sex metoder, inklusive konstruktorn.
- Fråga: Kan man få programmet att krascha?
Svar:Javisst, prova att skriva tre (istället för 3) när du matar husdjuret med bullar. Här skulle det behövas lite felhantering!
Sortering av en lista med objekt
Fråga: Hur gör man om man vill sortera i avtagande istället för i stigande ordning? Svar:Man kan enkelt vända på listan efter sorteringen med djurlista.reverse()