Skillnad mellan versioner av "2.3 Modularisering"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 44: Rad 44:
 
</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:
+
 
+
* &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>
+
 
+
</big></big>
+
</div>
+
 
+
 
+
= <b><span style="color:#931136">Klassen Password</span></b> =
+
<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>
 
</div>
  
  
= <b><span style="color:#931136">Programmet PasswordUse</span></b> =
+
= <b><span style="color:#931136">Programmet CircleUse</span></b> =
 
<div class="ovnA">
 
<div class="ovnA">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: PasswordUse.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleUse.jpg]]</div>
 
</div>
 
</div>
  

Versionen från 8 december 2020 kl. 17.35

        <<  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


Programmet CircleUse

CircleUse.jpg


Ett körexempel

PasswordUseKorexa.jpg


Läs om klasserna Password och PasswordUse i kursboken på sid 74-76.


 










Copyright © 2020 TechPages AB. All Rights Reserved.