Skillnad mellan versioner av "Kap 1 Objektorienterad programmering (OOP)"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
| Rad 89: | Rad 89: | ||
<div class="ovnE"> | <div class="ovnE"> | ||
=== <b><span style="color:#931136">Utan modularisering: all kod i Main()</span></b> === | === <b><span style="color:#931136">Utan modularisering: all kod i Main()</span></b> === | ||
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: | + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: All_in_Main.jpg]]</div> |
</div> | </div> | ||
| Rad 99: | Rad 99: | ||
</big></big> | </big></big> | ||
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: | + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Method_Module.jpg]]</div> |
Versionen från 20 november 2022 kl. 10.00
Innehåll
| << Agenda | Innehåll & struktur | Genomgång | Dagens övningar | Nästa lektion >> |
1.1 Vad är objektorienterad programmering?
- Gå igenom texten (PDF 7 sidor):
1.2 Klassbegreppet
En klass som ett C# program
Varför står metoden Main() i en klass, nämligen class First ?
Eftersom koden ska vara ett C# program, nämligen:
Koden ovan (class First) är det det enklast tänkbara C# programmet.
Metoden Main() kan inte skrivas utanför klassen.
Definition 1 av klass
Generell är en klass därför att den beskriver en kategori av saker och ting:
- ett begrepp
- en idé
- en mall.
Enligt klassens mall kan sedan objekt av denna klass skapas. Medan klassen
är abstrakt, är objekten verkliga eller virtuella saker och ting i den reala världen.
Modulär är en klass därför att den kodas som en separat och namngiven modul
så att den kan användas av vilka andra program som helst. Liksom en Legobit
för att kunna konstruera andra program. Principen heter modularisering.
Klass och objekt är två olika begrepp.
Exempel:
Pepparkakor är objekt.
Pepparkaksformen är klassen.
Definition 2 av klass
Ett begrepp kan ha olika definitioner om de inte motsäger varandra och belyser olika
aspekter av begreppet. Sammanhanget i vilket begreppet används avgör betydelsen.
1.3 Modulariseringsprocessen
Modularisering på metodnivå
Modulariseringens 1:a steg: Bearbetning flyttas till metoder utanför Main(): nya "moduler".
Klassen Method_Module har tre metoder: Main(), Area() och Circumference().
Den aktuella parametern radius kopieras till den formella parametern r vid anrop.
Modularisering på klassnivå
Modulariseringens 2:a steg: Den nya metoden flyttas till en annan klass = en ny "modul".
Två klasser som ett C# program:
Klassen Password
Klassen Password utgör med klassen PasswordUse ETT C# program som är objektorienterat.
Klassen PasswordUse
Ett körexempel
Copyright © 2022 TechPages AB. All Rights Reserved.








