Skillnad mellan versioner av "Övningar 21 (C/Cpp 23)"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
| (En mellanliggande version av samma användare visas inte) | |||
| Rad 15: | Rad 15: | ||
<div class="ovnE"> | <div class="ovnE"> | ||
<big> | <big> | ||
| − | * Mata in programmet [[Kap_8_Klasser#Programmet_All_in_main.28.29_utan_modularisering|<b><span style="color:blue"> | + | * Mata in programmet [[Kap_8_Klasser#Programmet_All_in_main.28.29_utan_modularisering|<b><span style="color:blue">All_in_main</span></b>]], kompilera och kör. |
* Mata in koden i headerfilen [[Kap_8_Klasser#Steg_1:_modularisering_p.C3.A5_funktionsniv.C3.A5_.28procedural.29|<b><span style="color:blue">Procedure.h</span></b>]] och kompilera. | * Mata in koden i headerfilen [[Kap_8_Klasser#Steg_1:_modularisering_p.C3.A5_funktionsniv.C3.A5_.28procedural.29|<b><span style="color:blue">Procedure.h</span></b>]] och kompilera. | ||
| Rad 34: | Rad 34: | ||
<!-- ==== <span style="color:#931136">Frågor till OOP</span> ==== --> | <!-- ==== <span style="color:#931136">Frågor till OOP</span> ==== --> | ||
<big> | <big> | ||
| − | Slutför | + | Slutför frågorna om OOP. Svar till alla frågor kan du hitta i texten: |
::[https://sharedfiles.mathonline.se/Vad_OOP_Cpp.pdf <b><span style="color:blue">Vad är objektorienterad programmering?</span></b>]. | ::[https://sharedfiles.mathonline.se/Vad_OOP_Cpp.pdf <b><span style="color:blue">Vad är objektorienterad programmering?</span></b>]. | ||
Nuvarande version från 20 januari 2026 kl. 13.16
| << 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 193):
Slutför frågorna om OOP. 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 övningarna ovan kan du arbeta med kursens:
Extra uppgifter
- För alla som önskar ha mer att koda (frivillgt):
Copyright © 2023. All Rights Reserved.
