Skillnad mellan versioner av "4.3 Polymorfism"

Från Mathonline
Hoppa till: navigering, sök
(Skapade sidan med '__NOTOC__ {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | style="border-bottom:1px solid #797979" width="5px" |   {{Not selected tab|Lektion 31...')
 
m
 
(14 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|[[Lektion 31 (Csharp 2)|Lektion 30]]}}
+
<!-- {{Not selected tab|[[Lektion 31 (Csharp 2)|Lektion 31]]}} -->
 +
{{Not selected tab|[[Lektion 30 (Csharp 2)|Lektion 30]]}}
 
{{Selected tab|[[4.3 Polymorfism|Genomgång]]}}
 
{{Selected tab|[[4.3 Polymorfism|Genomgång]]}}
 
{{Not selected tab|[[Övningar 31 (Csharp 2)|Övningar]]}}
 
{{Not selected tab|[[Övningar 31 (Csharp 2)|Övningar]]}}
Rad 9: Rad 10:
  
  
= <b><span style="color:#931136">Vad är polymorfism?</span></b> =
+
= <b><span style="color:#931136">Objektorienterade programmeringens tre hörnstenar</span></b> =
<div class="ovnC">
+
<div class="ovnE">
 +
==== <b><span style="color:#931136">Utdrag ur kursboken, sid 75:</span></b> ====
  
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Arv.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: OOP Tre hornstenar.jpg]]</div>
 +
</div>
  
  
<big>
+
= <b><span style="color:#931136">Vad är polymorfism?</span></b> =
Superklassen kallas även för <b><span style="color:red">basklassen</span></b>. &nbsp; T.ex. kallas basklassens konstruktor för <b><span style="color:red">base()</span></b>.
+
<div class="ovnE">
 +
==== <b><span style="color:#931136">Ex.: &nbsp;&nbsp;Två olika typer av konto i en bank:</span></b> ====
  
<b><span style="color:red">Problem:</span></b>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Polymorfism.jpg]]</div>
 
+
Subklassen ärver basklassens datamedlemmar och metoder. Men hur ska konstruktorn ärvas?
+
 
+
<b><span style="color:red">Lösningen:</span></b> &nbsp; Se konstruktorns kod i klassen Employee.
+
+
</big>
+
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Klassen Date</span></b> =
+
= <b><span style="color:#931136">Super- eller basklassen Account</span></b> =
<div class="ovnA">
+
<div class="ovnC">
[[Image: Date.jpg]]
+
[[Image: AccountPolym.jpg]]
 
+
 
+
<big>
+
Både klassen Person och klassen Employee använder klassen Date, för att
+
 
+
deklarera datamedlemmar av typ Date. Därför måste klassen Date inkluderas i detta projekt.
+
 
+
På så sätt är projektet ett exempel på både komposition och arv.
+
+
</big>
+
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Super- eller basklassen Person</span></b> =
+
= <b><span style="color:#931136">Subklassen MinimalAccount</span></b> =
<div class="ovnA">
+
<div class="ovnC">
[[Image: Persona.jpg]]
+
[[Image: MinimalAccount.jpg]]
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Subklassen Employee</span></b> =
+
= <b><span style="color:#931136">Programmet PolymorphTest</span></b> =
 
<div class="ovnA">
 
<div class="ovnA">
[[Image: Employeea.jpg]]
+
[[Image: PolymorphTest.jpg]]
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Programmet Inheritance</span></b> =
+
= <b><span style="color:#931136">Körexempel</span></b> =
 
<div class="ovnA">
 
<div class="ovnA">
[[Image: Inheritancea.jpg]]
+
[[Image: PolymorphKorex.jpg]]
 
</div>
 
</div>
  
Rad 64: Rad 52:
 
<br>
 
<br>
  
= <b><span style="color:#931136">Läs om arv i kursboken på sid 174-178.</span></b> =
+
= <b><span style="color:#931136">Läs om polymorfism i kursboken på sid 113-119.</span></b> =
  
  

Nuvarande version från 9 maj 2022 kl. 11.14

       Lektion 30          Genomgång          Övningar      


Objektorienterade programmeringens tre hörnstenar

Utdrag ur kursboken, sid 75:

OOP Tre hornstenar.jpg


Vad är polymorfism?

Ex.:   Två olika typer av konto i en bank:

Polymorfism.jpg


Super- eller basklassen Account

AccountPolym.jpg


Subklassen MinimalAccount

MinimalAccount.jpg


Programmet PolymorphTest

PolymorphTest.jpg


Körexempel

PolymorphKorex.jpg



Läs om polymorfism i kursboken på sid 113-119.


 










Copyright © 2021 TechPages AB. All Rights Reserved.