Skip to content

Kmom03: Mer Objektorienterad programmering och UML

I detta kursmomentet ska vi titta på olika relationer mellan objekt: komposition och aggregation, och hur dessa representeras i klassdiagram. Nu tittar vi vidare på UML diagram och lär oss dels mer om klassdiagram och dels om beteendediagram. Vi fortsätter att skapa klasser och använda objekt och vi strävar efter att låta klassers variabler vara privata (information hiding).

Komposition är en relationsform där ett objekt “innehåller” objekt av en annan klass. Det är ganska vanligt att använda benämningen “äger”, det vill säga vi uttrycker att objektet äger de objekt som det innehåller. Objektet som äger andra objekt ansvarar för de andra objektens livslängd.

Aggregation är en associationsform där en klass har tillgång till (kan även här uttryckas innehåller) objekt av en annan klass men de objekten kan existera oberoende av varandra och det är en “svagare” relation än komposition.

Vi ska utöka vårt tärningsspel Dice100 så att vi använder fler klasser och dessutom beskriva vilka relationerna är mellan klasserna.

Innan du börjar med kmom03 så behöver du ha jobbat igenom Kmom02.


Terminal window
cd dbwebb-kurser/csharp-<din akronym>
code .
  1. Läs och jobba igenom Kapitel 1 - Objekt och Klasser i guiden Kom igång med objektorienterad programmering i C#.

  2. Gå igenom artikeln Mer om klassdiagram för att lära dig mer om relationerna i ett klassdiagram. Du lär dig skillnaden mellan komposition och aggregation.

  3. Gå igenom artikeln Filer för att lära dig olika sätt att spara på fil.


Jobba igenom seminarium kmom03. Det görs på onsdagens lektion.


  1. Lär dig om Exceptions. Artikeln beskriver vanliga exceptions. Lär dig göra egna exceptions.

  2. Lär dig kort om sortering i artikeln Sortera information.

  3. Om du vill ha extra kunskap om UML diagram, så går du igenom artikeln om Beteendediagram.

  4. Läs igenom följande kapitel i boken C# 12.0 in a Nutshell: The Definitive Reference:

    • kapitel 4 Advance C#, delkapitel Try Statements and Exceptions
    • kapitel 15, delkapitel File and Directory Operations till och med Path
  5. Lös uppgifterna under Uppgifter.


Följande uppgifter skall utföras och resultatet skall redovisas.

  1. På Canvas, gör quizzet Kmom03 quiz.
  1. Fortsätt med ditt tärningsspel och gör uppgiften “Tärningsspelet Dice100 del 2”. Spara alla filer under kmom03.

Läs instruktionen om hur du skall redovisa.

Utöver en vanlig inlämning ska du också göra en Pull Request. Gör en inlämning i Canvas med länken till din PR.

Efter att ha jobbat igenom kmom03 så bör du kunna:

  • mer om klassrelationer i objektorienterad programmering
    • information hiding
    • skillnaden mellan komposition & aggregation
  • UML som visar komposition & aggregation i klassdiagram
  • UML som visar hur beteendediagram kan se ut
  • filhantering; att läsa från fil & spara på fil
  • exceptions, några vanliga och hur vi gör egna
  • enkel sortering