Övningsuppgift

Övningsuppgift 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 arv, metoder, konstruktorer och attribut.
  • 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å.

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.

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?

Till startsidan