Göm menyn

TDIU20 Objektorienterad programmering

Kursinformation


Detta är en kurs som introducerar och undervisar ämnet objektorientering i programspråket C++. Objektorienterad programmering används i de flesta moderna programspråk. Tankesättet och objektorienterad struktur kan användas även inom andra områden, exempelvis kretsuppbyggnad, företagsstruktur och andra strukturer som går att se som flera avdelningar eller sektioner som samarbetar.

I kursen hanteras främst hur man bygger upp och använder dessa strukturer i C++. I fortsättningskursen (TDDI22) ska deltagaren komma fram till vilken uppdelning som är lämplig för att lösa ett visst problem.

Kursen inleds med ett stort fokus på testning med testdriven utveckling (TDD) av en objektorienterad klass. Deltageren uppmuntras därefter att fortsätta arbeta enligt TDD.

Organisation

Undervisningen bedrivs i form av föreläsningar, lektioner och laborationer. Föreläsningar tar upp arbetssätt och syntax, lektioner låter studenterna öva tillsammans på ett eller några mindre exempel. Laborationer sker i grupper om två studenter. Här ligger hela ansvaret för att komma fram till en bra lösning på studenten. Laborationer redovisas muntligt för assistent i sal varefter koden ska skickas in för en noggrannare granskning. För noggrannare information se kursens laborationssidor i menyn.

Exempel

Här finns en del exempelkod från föreläsningar mm. Till en del filer finns en kommentarsfil med filändelse .comments.txt. För att läsa kommentarsfilen bredvid respektive källkoden kan du köra följande kommando i en terminal som är både bred och hög (du måste naturligtvis själv ersätta "FIL" med relevant filnamn:

diff -yW 160 FIL FIL.comments.txt | less

I mappen Inheritance återfinner du klassexempel från föreläsningen om arv och polymorfi.

I mappen Card_Deck återfinner du exempel på grundläggande klasser.

I mappen Enkel_pekarklass återfinner du ett exempel på en klass med pekare, inklusive de konstruktorer, operatorer och destruktorer som då behövs.

Föreläsningar

Observera att läsanvisningarna inte är uttömmande, om det är något du inte hittar förväntas du själv söka upp kompletterande information.

Läsanvisningar i anslutning till Föreläsning 1

  • Kursinformation och administration
  • Förkunskaper: Kapitel 8
  • Klasser: Kapitel 9.1 - 9.4, 9.7, A.12
  • Headerfil: Kapitel 8.3, Inkluderingsgard (Kapitel 27.8.3, p.1059)
  • Undantag: Kapitel 5.6, http://www.cplusplus.com/reference/stdexcept/
  • Testning: Kapitel 26.1 - 26.4

Läsanvisningar i anslutning till Föreläsning 2

Läsanvisningar i anslutning till Föreläsning 3

  • Fortsättning föreläsning 1, 2

Läsanvisningar i anslutning till Föreläsning 4

  • Dynamiskt minne: Kapitel 17.3-17.5, 17.7
  • Nästlad (inre) klass

Läsanvisningar i anslutning till Föreläsning 5

  • Kopiering och flytt: Kapitel 18.3, 18.4, A.12.3

Läsanvisningar i anslutning till Föreläsning 6

  • Arv: Kapitel A.12.4, 14.3

Sidansvarig: Klas Arvidsson
Senast uppdaterad: 2017-02-21