Skillnad mellan versioner av "Kap 1 Objektorienterad programmering (OOP)"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 41: Rad 41:
  
  
= <b><span style="color:#931136">Definition av klass</span></b> =
+
= <b><span style="color:#931136">Definition 1 av klass</span></b> =
 
<div class="ovnE">
 
<div class="ovnE">
  

Versionen från 20 november 2022 kl. 08.32

        <<  Agenda          Innehåll & struktur          Genomgång          Dagens övningar          Nästa lektion  >>      


1.1   Vad är objektorienterad programmering?

Gå igenom texten (PDF 7 sidor):
\( \qquad\;\;\, \)\( \qquad\;\;\, \)


1.2   Klassbegreppet

En klass som ett C# program

Firsta.jpg


Varför står metoden Main() i en klass, nämligen class First  ?

Eftersom koden ska vara ett C# program, nämligen:

CsPrograma.jpg

Koden ovan (class First) är det det enklast tänkbara C# programmet.

Metoden Main() kan inte skrivas utanför klassen.


Definition 1 av klass

VadKlass.jpg


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

Vår första egendefinierade klass utan Main()

Password.jpg


Programmet PasswordUse

PasswordUse.jpg


Ett körexempel

PasswordUseKorexa.jpg


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

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









Copyright © 2022 TechPages AB. All Rights Reserved.