Skillnad mellan versioner av "2.3 Modularisering"

Från Mathonline
Hoppa till: navigering, sök
m
m
 
(19 mellanliggande versioner av samma användare visas inte)
Rad 4: Rad 4:
 
{{Not selected tab|[[Lektion 15 (Csharp 2)| <<&nbsp;&nbsp;Lektion 15]]}}
 
{{Not selected tab|[[Lektion 15 (Csharp 2)| <<&nbsp;&nbsp;Lektion 15]]}}
 
{{Selected tab|[[2.3 Modularisering|Genomgång]]}}
 
{{Selected tab|[[2.3 Modularisering|Genomgång]]}}
{{Not selected tab|[[Övningar 15 (Csharp 2)|Övningar&nbsp;&nbsp;>> ]]}}
+
{{Not selected tab|[[Övningar 15 (Csharp 2)|Övningar]]}}
 
| style="border-bottom:1px solid #797979"  width="100%"| &nbsp;
 
| style="border-bottom:1px solid #797979"  width="100%"| &nbsp;
 
|}
 
|}
Rad 39: Rad 39:
 
<div class="ovnA">
 
<div class="ovnA">
 
<big><big>
 
<big><big>
Modulariseringens <b>2:a steg:</b> De nya metoderna flyttas till en annan klass: ny "modul".
+
Modulariseringens <b>2:a steg:</b> De nya metoderna flyttas till en annan klass, en ny "modul".
  
Men även Main()-metodens lokala variabel radius flyttar med och blir en <b><span style="color:red">datamedlem</span></b> av den nya klassen.
+
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>
 
</big></big>
  
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: VadKlass.jpg]]</div>
+
== <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><b><span style="color:red">Generell</span></b> är en klass därför att den beskriver en <b>kategori</b> av saker och ting:
+
<big><big>Jämför med [[2.2_Klassbegreppet#Vad_.C3.A4r_en_klass.3F|<b><span style="color:blue">klassbrgreppets definition</span></b>]].
 
+
* &nbsp; &nbsp; ett <b>begrepp</b>
+
 
+
* &nbsp; &nbsp; en <b>idé</b>
+
 
+
* &nbsp; &nbsp; en <b>mall</b>.  
+
 
+
Enligt klassens mall kan sedan <b>objekt</b> av denna klass skapas. Medan klassen
+
 
+
är abstrakt, är objekten verkliga eller virtuella saker och ting i den reala världen.
+
 
+
<b><span style="color:red">Modulär</span></b> ä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 <b>modularisering</b>.
+
 
+
<b><span style="color:red">Klass och objekt är två olika begrepp.</span></b>
+
 
+
<b>Exempel:</b>
+
 
+
Pepparkakor är <b><span style="color:red">objekt.</span></b>
+
 
+
Pepparkaksformen är <b><span style="color:red">klassen.</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>
 
</big></big>
</div>
 
  
 
+
== <b><span style="color:#931136">Programmet CircleUse</span></b> ==
= <b><span style="color:#931136">Klassen Password</span></b> =
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleUse.jpg]]</div>
<div class="ovnA">
+
=== <b><span style="color:#931136">Vår första egendefinierade klass utan Main()</span></b> ===
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Password.jpg]]</div>
+
</div>
+
 
+
 
+
= <b><span style="color:#931136">Programmet PasswordUse</span></b> =
+
<div class="ovnA">
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: PasswordUse.jpg]]</div>
+
 
</div>
 
</div>
  
Rad 92: Rad 60:
 
= <b><span style="color:#931136">Ett körexempel</span></b> =
 
= <b><span style="color:#931136">Ett körexempel</span></b> =
 
<div class="ovnA">
 
<div class="ovnA">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: PasswordUseKorexa.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleUseKorexa.jpg]]</div>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Läs om klasserna Password och PasswordUse i kursboken på sid 74-76.</span></b> =
+
= <b><span style="color:#931136">Läs om Modularisering i kursboken på sid 81-84.</span></b> =
  
  

Nuvarande version från 2 december 2021 kl. 14.26

        <<  Lektion 15          Genomgång          Övningar      


All kod i Main()

All in Maina.jpg


Strukturen Input - Bearbetning - Output ger upphov till modularisering.


Modularisering på metodnivå

Modulariseringens 1:a steg: Bearbetning flyttas till metoder utanför Main(): nya "moduler".

Method Moduleb.jpg


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

Circle.jpg


Jämför med klassbrgreppets definition.

Klassen Circle utgör med klassen CircleUse ETT C# program som är objektorienterat.

Programmet CircleUse

CircleUse.jpg


Ett körexempel

CircleUseKorexa.jpg


Läs om Modularisering i kursboken på sid 81-84.


 










Copyright © 2020 TechPages AB. All Rights Reserved.