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.
Förberedelser
Section titled “Förberedelser”Innan du börjar med kmom03 så behöver du ha jobbat igenom Kmom02.
Måndag
Section titled “Måndag”
Måndag
Section titled “Måndag”cd dbwebb-kurser/csharp-<din akronym>code .Att göra
Section titled “Att göra”-
Läs och jobba igenom Kapitel 1 - Objekt och Klasser i guiden Kom igång med objektorienterad programmering i C#.
-
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.
-
Gå igenom artikeln Filer för att lära dig olika sätt att spara på fil.
Onsdag
Section titled “Onsdag”
Onsdag
Section titled “Onsdag”Jobba igenom seminarium kmom03. Det görs på onsdagens lektion.
Torsdag och fredag
Section titled “Torsdag och fredag”
Torsdag och fredag
Section titled “Torsdag och fredag”Att göra
Section titled “Att göra”-
Lär dig om Exceptions. Artikeln beskriver vanliga exceptions. Lär dig göra egna exceptions.
-
Lär dig kort om sortering i artikeln Sortera information.
-
Om du vill ha extra kunskap om UML diagram, så går du igenom artikeln om Beteendediagram.
-
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
-
Lös uppgifterna under Uppgifter.
Uppgifter
Section titled “Uppgifter”Följande uppgifter skall utföras och resultatet skall redovisas.
- På Canvas, gör quizzet
Kmom03 quiz.
- Fortsätt med ditt tärningsspel och gör uppgiften “Tärningsspelet Dice100 del 2”.
Spara alla filer under
kmom03.
Resultat & Redovisning
Section titled “Resultat & Redovisning”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.
Målet med kmom03
Section titled “Målet med kmom03”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