Skillnad mellan versioner av "Kap 1 Objektorienterad programmering (OOP)"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
| Rad 107: | Rad 107: | ||
</div> | </div> | ||
| + | |||
| + | = <b><span style="color:#931136">Modularisering på metodnivå</span></b> = | ||
| + | <div class="ovnC"> | ||
| + | <big><big> | ||
| + | Modulariseringens <b>1:a steg: <span style="color:red">Bearbetning</span></b> flyttas till metoder utanför Main(): nya "moduler". | ||
| + | </big></big> | ||
| + | |||
| + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Method_Moduleb.jpg]]</div> | ||
| + | |||
| + | |||
| + | <big><big>Klassen <b><span style="color:blue">Method_Module</span></b> har tre metoder: <b><span style="color:red">Main(), Area()</span></b> och <b><span style="color:red">Circumference()</span></b>. | ||
| + | |||
| + | Den <b><span style="color:red">aktuella parametern</span></b> radius kopieras till den <b><span style="color:red">formella parametern </span></b> r vid anrop. | ||
| + | </big></big> | ||
| + | </div> | ||
| + | |||
| + | |||
| + | = <b><span style="color:#931136">Modularisering på klassnivå</span></b> = | ||
| + | <div class="ovnA"> | ||
| + | <big><big> | ||
| + | Modulariseringens <b>2:a steg:</b> De nya metoderna flyttas till en annan klass, en ny "modul". | ||
| + | |||
| + | Men även variabeln <b><span style="color:red">radius</span></b> flyttar med och blir den nya klassens <b><span style="color:red">datamedlem</span></b>. | ||
| + | </big></big> | ||
| + | |||
| + | == <b><span style="color:#931136">Klassen Circle</span></b> == | ||
| + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Circle.jpg]]</div> | ||
| + | |||
| + | |||
| + | <big><big>Jämför med [[2.2_Klassbegreppet#Vad_.C3.A4r_en_klass.3F|<b><span style="color:blue">klassbrgreppets definition</span></b>]]. | ||
| + | |||
| + | Klassen <b><span style="color:#931136">Circle</span></b> utgör med klassen <b><span style="color:#931136">CircleUse</span></b> ETT C# program som är <b><span style="color:red">objektorienterat</span></b>. | ||
| + | </big></big> | ||
| + | |||
| + | == <b><span style="color:#931136">Programmet CircleUse</span></b> == | ||
| + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleUse.jpg]]</div> | ||
| + | </div> | ||
| + | |||
| + | |||
| + | = <b><span style="color:#931136">Ett körexempel</span></b> = | ||
| + | <div class="ovnA"> | ||
| + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleUseKorexa.jpg]]</div> | ||
| + | </div> | ||
Versionen från 19 november 2022 kl. 11.27
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.
Vad är ett C# program?
Koden ovan (class First) är det det enklast tänkbara C# programmet.
Metoden Main() kan inte skrivas utanför klassen. Ingen annan kod heller!
Definition 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.
Klassen Password
Programmet PasswordUse
Ett körexempel
1.3 Modulariseringsprocessen
All kod i Main()
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: De nya metoderna flyttas till en annan klass, en ny "modul".
Men även variabeln radius flyttar med och blir den nya klassens datamedlem.
Klassen Circle
Jämför med klassbrgreppets definition.
Klassen Circle utgör med klassen CircleUse ETT C# program som är objektorienterat.
Programmet CircleUse
Ett körexempel
Copyright © 2022 TechPages AB. All Rights Reserved.








