Inlämningsuppgift

Inlämningsuppgift 3 – Objektorienterat program

Välj ett projekt och visa att du kan arbeta med klasser, objekt, attribut och metoder.

Uppgiftens syfte

Syftet är att visa att du kan:

  • Skapa och använda egna klasser i Python.
  • Strukturera ett objektorienterat program med flera objekt.
  • Använda metoder, konstruktorer och attribut.
  • Använda arv och metodöverskuggning om du siktar på en mer utvecklad lösning.
  • Testa och dokumentera din kod.

Instruktioner

Välj ett av projekten nedan och genomför det i Python. Du ska:

  1. Planera programmet med ett UML-diagram eller en tydlig beskrivning.
  2. Skapa klasser enligt instruktionerna.
  3. Skriva ett huvudprogram som demonstrerar funktionaliteten.
  4. Testa programmet och säkerställa att det fungerar korrekt.
  5. Kommentera din kod så att den är lätt att förstå.

Repetera innan du börjar

  • Kap 3.1 - vad objektorientering är.
  • Kap 3.2 - skapa klasser och objekt.
  • Kap 3.3 - konstruktorer och metoder.
  • Kap 3.5 - UML för objektmodeller.
  • Kap 3.6 - arv och polymorfism.

Välj ett av följande projekt

Alternativ 1: Bibliotekssystem

  • Skapa klasserna Book, Member och Library.
  • En medlem ska kunna låna och återlämna böcker.
  • Biblioteket ska hålla reda på alla böcker och medlemmar.

Alternativ 2: RPG-strid

  • Skapa klasserna Character, Player, Enemy och Item.
  • Implementera arv och föremålsanvändning.
  • Skapa ett enkelt stridssystem med flera rundor.

Alternativ 3: Receptplanerare

  • Skapa klasserna Ingredient, Recipe och MealPlanner.
  • Recept ska innehålla flera ingredienser.
  • MealPlanner ska kunna lista recept och skapa en inköpslista.

Bedömningskriterier

För E-nivå

  • Skapa ett fungerande program med minst två egna klasser.
  • Använda metoder och attribut korrekt.
  • Visa att du förstår syftet med objektorientering.
  • Arv är inte ett krav för E-nivå, men programmet ska tydligt använda objekt.

För C-nivå

  • Använda arv, metodöverskuggning och objektstruktur.
  • Visa att du kan strukturera kod på ett tydligt sätt.
  • Kommentera och testa din kod.

För A-nivå

  • Använda arv, flera samverkande objekt, listor och logik.
  • Göra tydlig design med UML eller annan planering.
  • Visa att du kan felsöka och förbättra ditt program.

Checklista innan du lämnar in

  • Har du minst två egna klasser?
  • Använder du objekt på ett tydligt sätt?
  • Har du testat alla funktioner?
  • Är din kod kommenterad?
  • Har du använt arv eller flera objekt om det krävs?

Testfall

Test Exempel Förväntat resultat
Skapa objekt Skapa en bok, karaktär eller ett recept Objektet får rätt attribut via __init__.
Anropa metod Låna bok, attackera fiende eller visa recept Metoden ändrar eller visar objektets data korrekt.
Felaktigt eller oväntat val Försök låna en bok som inte finns Programmet ger tydlig återkoppling och kraschar inte.
Arv, om du använder det Player och Enemy ärver från Character Subklasserna återanvänder basklassens kod och kan ha eget beteende.

Det här ska lämnas in

  • Pythonfil eller Pythonfiler med din lösning.
  • En enkel UML-skiss eller textbeskrivning av dina klasser.
  • En kort lista över testfall du har provat.
  • En kort kommentar om hur dina klasser samarbetar.

Till startsidan