6. Övningar

Programmeringsteknik

Hoppa till: navigering, sök
       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?

  1. Poäng
  2. Spader
  3. 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?

  1. bredd
  2. energiklass
  3. 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?

  1. lägga ner en vara i kundvagnen
  2. beräkna totalpriset för alla varor i kundvagnen
  3. 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?

  1. parametern self
  2. en parameter för varje attribut
  3. 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()