Kmom03: Arv och andra klassrelationer

By . Latest revision .

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:

  1. 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

#Artiklar

  1. Klass relationer

  2. Aggregation

  3. Arv

  4. Visualizing program execution

  5. UML basics på IBM

#Video

Titta på följande:

  1. Videoserien Lär dig objektorienterad Python är tätt kopplat till kursmaterialet. Kika igenom videorna som börjar med 2.

  2. Titta på resten av Object-oriented programming (7.45 och fram).

  3. 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.

  4. Videom klassdiagram: UML Class Diagram Tutorial

#Lästips

  1. Objektorienterad programmering och klass relationer

  2. UML class relationships

#Övningar & Uppgifter

(ca: 8-10 studietimmar)

#Övningar

Genomför följande övning för att träna dig.

  1. Jobba igenom “Klass relationer” i guiden “Kom igång med objektorienterad programmering i Python”.

  2. Läs igenom artikeln “Hur vi visar olika relationer mellan klasser i ett klassdiagram”.

  3. “Mer objektorientering” i guiden “Kom igång med objektorienterad programmering i Python”.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften “Python med klass relationer” (lab 2)

  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

  1. 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.

Document source.