Övningar 21 (C/Cpp 23)
<< Agenda | Genomgång 21 | Övningar 21 | Innehåll & struktur | Nästa lektion >> |
Dagens övningar
- Mata in programmet All in main, kompilera och kör.
- Mata in koden i headerfilen Procedure.h och kompilera.
- Mata in programmet Procedure, kompilera och kör.
- Mata in klassen Circle och kompilera.
- Mata in programmet CircleTest, kompilera och kör.
- Lös övningarna nedan (ur kursboken, övningar, sid 267):
Frågor till OOP
Besvara nedanstående frågor. Svar till alla frågor kan du hitta i texten:
Skriv gärna dina svar i ett textdokument.
Ingen inlämning krävs. Arbeta gärna gruppvis.
1) Vad menas med paradigmskifte i programmeringens historia?
2) Vad var anledningen till paradigmskiftet inom programutveckling?
3) Mellan vilka två programmeringsspråk går historiskt skiljelinjen mellan procedural och
- objektorienterad programmering? När ungefär inträffade övergången?
4) Vilka för- och nackdelar har enligt din åsikt den procedurala synen på programmering?
5) Vilka för- och nackdelar har enligt din åsikt den objektorienterade synen på programmering?
6) Är det korrekt att pepparkakor är klasser och pepparkaksformen objekt?
7) Kan man via abstraktion komma från objekt till klass eller är det tvärtom?
8) Om pennor är objekt var kan man hitta klassen penna?
9) Av vilka två huvudingredienser består en klass i regel?
10) Anta att Tal är en klass. Är addition() en metod eller en datamedlem i klassen Tal?
11) Anta att Bil är en klass. Är Motor en metod eller en datamedlem i klassen Bil?
12) Vad är skillnaden mellan funktioner och metoder i C++?
13) Är + en metod, en datamedlem eller en operator i klassen String? Vad heter den?
14) Med vilken fråga hittar man datamedlemmarna i en klass?
15) Med vilken fråga hittar man metoderna i en klass?
16) Är objekt och instans synonymer?
17) Vad betyder punktnotation?
18) Vad betyder allokering i datasammanhang?
19) Vilka är de tre hörnstenarna inom objektorienterad programmering?
20) Pekar i ett klassdiagram pilen från subklassen till superklassen eller tvärtom?
21) När en subklass ärver en superklass, vilka delar av superklassen ärver den?
22) Varför är polymorfism en speciell form av överlagring av metoder?
23) Vad skiljer polymorfism från vanlig överlagring av metoder?
24) Kan polymorfa metoder förekomma i en och samma klass?
25) Kan överlagrade metoder förekomma i en och samma klass?
26) Kan man komma åt de privata datamedlemmarna i en superklass från en subklass?
Projektuppgifter
När du blir klar med repetitionen ovan kan du arbeta med kursens:
Extra uppgifter
- För alla som önskar ha mer att koda (frivillgt):
Copyright © 2023. All Rights Reserved.