Kmom03: Arv och andra klassrelationer
Kom igång med arv och andra klassrelationer. Vi ska titta närmare på klassrelationer och hur de kan implementeras. När vi lär oss mer om klassrelationer behöver vi också lära oss hur vi visar det i klassdiagram.
Vi ska fortsätta med Yahtzee uppgiften, i detta kursmomentet ska ni skapa klasser för att få poäng baserat på vilka tärningar som finns i en hand. I kmom04 skriver vi Flask koden.
Ni behöver göra dbwebb update
och dbwebb init
i kursrepot innan ni startar med kursmomentet!
(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)
#Läsanvisningar
(ca: 8-10 studietimmar)
#Kurslitteratur
Läs följande:
- Python 3 Object-oriented Programming
- Ch 1 - Object-oriented Design
- Hiding details and creating the public interface — Summary
- Ch 2 - Objects in Python
- Who can access my data?
- Case study - Summary
- Ch 3 - When Objects Are Alike
- Ch 1 - Object-oriented Design
#Artiklar
#Video
Titta på följande:
Videoserien Lär dig objektorienterad Python är tätt kopplat till kursmaterialet. Kika igenom videorna som börjar med 2.
Titta på resten av Object-oriented programming (7.45 och fram).
Videos 12-22 i spellistan Software Development Process: Part 2 of 3 om class diagrams. Det är många videor men de är bara mellan 1 och 3 minuter långa.
Videom klassdiagram: UML Class Diagram Tutorial
#Lästips
#Övningar & Uppgifter
(ca: 8-10 studietimmar)
#Övningar
Genomför följande övning för att träna dig.
Jobba igenom “Klass relationer” i guiden “Kom igång med objektorienterad programmering i Python”.
Läs igenom artikeln “Hur vi visar olika relationer mellan klasser i ett klassdiagram”.
“Mer objektorientering” i guiden “Kom igång med objektorienterad programmering i Python”.
#Uppgifter
Dessa uppgifter skall utföras och redovisas.
Gör uppgiften “Python med klass relationer” (lab 2)
Gör uppgiften “Yahtzee2”. Spara koden i mappen
me/kmom03/yahtzee2/
.
PS! Det är inte någon inlämning denna veckan. Bara ett quiz!
#Extra
- Jobba igenon “Extra material för de som vill lära sig mer” i guiden “Kom igång med objektorienterad programmering i Python”.
#Revision history
- 2024-01-17: (F, aar) Delade upp så bara OO medan alla flask är i nästa kmom.
- 2023-01-27: (E, aar) Bytt ut uppgift och get/post övning.
- 2022-01-21: (D, aar) Bytt ut bank omt yahtzee2.
- 2021-01-18: (C, moc) Bytt ut frågorsport uppgift mot bank.
- 2018-12-18: (B, aar) Bytt ut form uppgift mot frågorsport.
- 2017-11-24: (A, lew) oopython v2.
- 2017-11-10: (PE1, mos) Utkast till v2.