|
|
| (37 mellanliggande versioner av samma användare visas inte) |
| Rad 2: |
Rad 2: |
| | {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | | {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" |
| | | style="border-bottom:1px solid #797979" width="5px" | | | | style="border-bottom:1px solid #797979" width="5px" | |
| − | {{Not selected tab|[[Kursen Programmering av inbyggda system|Kursens presentation]]}} | + | {{Not selected tab|[[Lektion 1 (Inbyggd)| << Agenda]]}} |
| − | {{Not selected tab|[[Media: Innehall_Inbyggda.pdf|Innehåll & struktur]]}} | + | {{Not selected tab|[[Innehåll Programmering 2|Innehåll och struktur]]}} |
| − | {{Selected tab|[[Kap 1 Introduktion till inbyggda system|Dagens genomgång]]}} | + | {{Selected tab|[[Kap 1 Olika programmeringsmiljöer|<span style="font-weight:lighter">Dagens genomgång</span>]]}} |
| | {{Not selected tab|[[Övningar 1 (Inbyggd)|Dagens övningar]]}} | | {{Not selected tab|[[Övningar 1 (Inbyggd)|Dagens övningar]]}} |
| | {{Not selected tab|[[Lektion 2 (Inbyggd)|Nästa lektion >> ]]}} | | {{Not selected tab|[[Lektion 2 (Inbyggd)|Nästa lektion >> ]]}} |
| | | style="border-bottom:1px solid #797979" width="100%"| | | | style="border-bottom:1px solid #797979" width="100%"| |
| | |} | | |} |
| | + | |
| | <br> | | <br> |
| | | | |
| − | = <b><span style="color:#931136">1.1 Vad är objektorienterad programmering?</span></b> = | + | = <b><span style="color:#931136">2.1 Programmerings historia II</span></b> = |
| − | <div class="ovnE">
| + | |
| − | <big><big>
| + | |
| − | :Gå igenom texten (PDF 7 sidor)<span>:</span>
| + | |
| − | <math> \qquad\;\;\, </math><div class="smallBox">[[Media: Vad_OOP.pdf|<b><span style="color:blue">Vad är objektorienterad programmering?</span></b>]]</div><math> \qquad\;\;\, </math>
| + | |
| − | </big></big>
| + | |
| − | </div>
| + | |
| | | | |
| | + | <br> |
| | | | |
| − | = <b><span style="color:#931136">1.2 Klassbegreppet</span></b> =
| |
| − | <div class="ovnC">
| |
| − | === <b><span style="color:#931136">En klass som ett C# program</span></b> ===
| |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Firsta.jpg]]</div>
| |
| − |
| |
| − |
| |
| − | <big><big>Varför står metoden <b><span style="color:red">Main()</span></b> i en <b><span style="color:red">klass</span></b>, nämligen <b><span style="color:blue">class First</span></b> ?
| |
| − |
| |
| − | Eftersom koden ska vara ett <b><span style="color:red">C# program</span></b>, nämligen:
| |
| − |
| |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CsPrograma.jpg]]</div>
| |
| − |
| |
| − | Koden ovan (<b><span style="color:blue">class First</span></b>) är det det enklast tänkbara <b><span style="color:red">C# programmet</span></b>.
| |
| − |
| |
| − | Metoden <b><span style="color:red">Main()</span></b> kan inte skrivas utanför klassen.
| |
| − | </big></big>
| |
| − | </div>
| |
| − |
| |
| − |
| |
| − | = <b><span style="color:#931136">Definition 1 av klass</span></b> =
| |
| | <div class="ovnE"> | | <div class="ovnE"> |
| − | | + | <big><big> |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: VadKlass.jpg]]</div>
| + | :Gå igenom texten<span>:</span> |
| − | | + | <div class="smallBox">[https://sharedfiles.mathonline.se/Progr_Hist_II.pdf <b><span style="color:blue">Programmerigens historia II</span></b>]</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: | + | |
| − | | + | |
| − | * ett <b>begrepp</b>
| + | |
| − | | + | |
| − | * en <b>idé</b>
| + | |
| − | | + | |
| − | * 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> | | </big></big> |
| | </div> | | </div> |
| | | | |
| | | | |
| − | = <b><span style="color:#931136">Definition 2 av klass</span></b> = | + | = <b><span style="color:#931136">Om Python</span></b> = |
| − | <div class="ovnA">
| + | |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Def_2_klass.jpg]]</div>
| + | |
| − | | + | |
| − | | + | |
| − | <big><big>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.</big></big>
| + | |
| − | </div>
| + | |
| − | | + | |
| − | | + | |
| − | = <b><span style="color:#931136">1.3 Modulariseringsprocessen</span></b> =
| + | |
| − | <div class="ovnE">
| + | |
| − | === <b><span style="color:#931136">Utan modularisering: all kod i Main()</span></b> ===
| + | |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: All_in_Main.jpg]]</div>
| + | |
| − | </div>
| + | |
| − | | + | |
| − | | + | |
| − | = <b><span style="color:#931136">Modularisering på metodnivå</span></b> =
| + | |
| | <div class="ovnC"> | | <div class="ovnC"> |
| − | <big><big>
| + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Om_Python.jpg]]</div> |
| − | Modulariseringens <b>1:a steg: <span style="color:red">Logiken</span></b> flyttas till en <b><span style="color:red">ny metod Ok()</span></b> utanför Main().
| + | |
| − | </big></big>
| + | |
| − | | + | |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Method_Module.jpg]]</div> | + | |
| − | | + | |
| − | | + | |
| − | <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 retur-
| + | |
| − | | + | |
| − | värdet av typ <b>bool</b> returneras via Ok() till Main() och används i if-satsens samt loopens villkor.
| + | |
| − | </big></big>
| + | |
| | </div> | | </div> |
| | | | |
| | | | |
| − | = <b><span style="color:#931136">Modularisering på klassnivå</span></b> =
| |
| − | <div class="ovnA">
| |
| − | <big><big>
| |
| − | Modulariseringens <b>2:a steg:</b> Metoden Ok() flyttas till en annan klass = <b>ny datatyp</b>.
| |
| − |
| |
| − | I Main() skapas ett <b><span style="color:red">objekt</span></b> av den nya datatypen Password och
| |
| − |
| |
| − | <b><span style="color:red">objektets metod</span></b> Ok() anropas i Main().
| |
| − | </big></big>
| |
| − |
| |
| − | === <b><span style="color:#931136">Klassen Password</span></b> ===
| |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Password.jpg]]</div>
| |
| − |
| |
| − |
| |
| − | <big><big>
| |
| − | Klasserna <b><span style="color:#931136">Password</span></b> och <b><span style="color:#931136">PasswordUse</span></b> utgör ETT <b><span style="color:red">objektorienterat</span></b> program.
| |
| − | </big></big>
| |
| − |
| |
| − | === <b><span style="color:#931136">Klassen PasswordUse</span></b> ===
| |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: PasswordUse.jpg]]</div>
| |
| − |
| |
| − |
| |
| − | === <b><span style="color:#931136">Ett körexempel</span></b> ===
| |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: PasswordUseKorexa.jpg]]</div>
| |
| − | </div>
| |
| | | | |
| | | | |
| Rad 154: |
Rad 49: |
| | | | |
| | | | |
| − | [[Matte:Copyrights|Copyright]] © 2023 TechPages AB. All Rights Reserved. | + | [[Matte:Copyrights|Copyright]] © 2024 <b><span style="color:blue">Lieta AB</span></b>. All Rights Reserved. |