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

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 104: Rad 104:
 
<big><big>Klassen <b>Method</b> har två metoder: <b>Main()</b> och <b>Ok()</b>: Main() anropar Ok(). Vid anrop:
 
<big><big>Klassen <b>Method</b> har två metoder: <b>Main()</b> och <b>Ok()</b>: Main() anropar Ok(). Vid anrop:
  
skickas den aktuella parametern input till den formella parametern passwd och returvärdet
+
skickas den aktuella parametern input till den formella parametern passwd och retur-
  
av typ <b>bool</b> returneras via Ok() till Main() och används i if-satsens samt loopens villkor.  
+
värdet av typ <b>bool</b> returneras via Ok() till Main() och används i if-satsens samt loopens villkor.  
 
</big></big>
 
</big></big>
 
</div>
 
</div>

Versionen från 20 november 2022 kl. 11.55

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


Definition 2 av klass

Def 2 klass.jpg


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

Utan modularisering: all kod i Main()

All in Main.jpg


Modularisering på metodnivå

Modulariseringens 1:a steg: Logiken flyttas till en ny metod Ok() utanför Main().

Method Module.jpg


Klassen Method har två metoder: Main() och Ok(): Main() anropar Ok(). Vid anrop:

skickas den aktuella parametern input till den formella parametern passwd och retur-

värdet av typ bool returneras via Ok() till Main() och används i if-satsens samt loopens villkor.


Modularisering på klassnivå

Modulariseringens 2:a steg: Metoden Ok() flyttas till en annan klass = ny datatyp.

I Main() skapas ett objekt av den nya datatypen Password och

objektets metod Ok() anropas i Main().

Klassen Password

Password.jpg


Klasserna Password och PasswordUse utgör ETT C# program som är objektorienterat.

Klassen PasswordUse

PasswordUse.jpg


Ett körexempel

PasswordUseKorexa.jpg










Copyright © 2022 TechPages AB. All Rights Reserved.