Skillnad mellan versioner av "4.2 Arv"
Från Mathonline
		
		
		
Taifun  (Diskussion | bidrag) m  | 
				Taifun  (Diskussion | bidrag)  m  | 
				||
| (16 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   | + | {{Not selected tab|[[Lektion 30 (Csharp 2)|Lektion 30]]}}  | 
| − | {{Selected tab|[[4.  | + | {{Selected tab|[[4.2 Arv|Genomgång]]}}  | 
| − | {{Not selected tab|[[Övningar   | + | {{Not selected tab|[[Övningar 30 (Csharp 2)|Övningar]]}}  | 
| style="border-bottom:1px solid #797979"  width="100%"|    | | style="border-bottom:1px solid #797979"  width="100%"|    | ||
|}  | |}  | ||
| Rad 21: | Rad 21: | ||
<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: Arv.jpg]]</div>  | ||
| + | |||
<big>  | <big>  | ||
| − | Superklassen kallas även för <b><span style="color:red">basklassen</span></b>  | + | Superklassen kallas även för <b><span style="color:red">basklassen</span></b>.   T.ex. kallas basklassens konstruktor för <b><span style="color:red">base()</span></b>.  | 
<b><span style="color:red">Problem:</span></b>  | <b><span style="color:red">Problem:</span></b>  | ||
| − | Subklassen ärver   | + | Subklassen ärver basklassens datamedlemmar och metoder. Men hur ska konstruktorn ärvas?  | 
| − | Se klassen Employee.  | + | <b><span style="color:red">Lösningen:</span></b>   Se konstruktorns kod i klassen Employee.  | 
</big>  | </big>  | ||
| Rad 36: | Rad 37: | ||
= <b><span style="color:#931136">Klassen Date</span></b> =  | = <b><span style="color:#931136">Klassen Date</span></b> =  | ||
| − | <div class="  | + | <div class="ovnA">  | 
[[Image: Date.jpg]]  | [[Image: Date.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">  | + | = <b><span style="color:#931136">Super- eller basklassen Person</span></b> =  | 
| − | <div class="  | + | <div class="ovnA">  | 
| − | [[Image:   | + | [[Image: Personc.jpg]]  | 
</div>  | </div>  | ||
| − | = <b><span style="color:#931136">  | + | = <b><span style="color:#931136">Subklassen Employee</span></b> =  | 
| − | <div class="  | + | <div class="ovnA">  | 
| − | [[Image:   | + | [[Image: Employeea.jpg]]  | 
</div>  | </div>  | ||
| Rad 55: | Rad 66: | ||
= <b><span style="color:#931136">Programmet Inheritance</span></b> =  | = <b><span style="color:#931136">Programmet Inheritance</span></b> =  | ||
<div class="ovnA">  | <div class="ovnA">  | ||
| − | [[Image:   | + | [[Image: Inheritancea.jpg]]  | 
| + | </div>  | ||
| + | |||
| + | |||
| + | = <b><span style="color:#931136">Körexempel</span></b> =  | ||
| + | <div class="ovnA">  | ||
| + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: InheritanceKorexa.jpg]]</div>  | ||
</div>  | </div>  | ||
| Rad 61: | Rad 78: | ||
<br>  | <br>  | ||
| − | = <b><span style="color:#931136">Läs om   | + | = <b><span style="color:#931136">Läs om arv i [http://www.mathonline.se/Progr_2/Boken%20Progr_2_Cs.pdf <span style="color:blue">kursboken</span>] på sid 108-112.</span></b> =  | 
| Rad 87: | Rad 104: | ||
| − | [[Matte:Copyrights|Copyright]] ©   | + | [[Matte:Copyrights|Copyright]] © 2022 [https://www.techpages.se <b><span style="color:blue">TechPages AB</span></b>]. All Rights Reserved.  | 
Nuvarande version från 21 april 2022 kl. 13.42
| Lektion 30 | Genomgång | Övningar | 
Objektorienterade programmeringens tre hörnstenar
Vad är arv i programmering?
Superklassen kallas även för basklassen.   T.ex. kallas basklassens konstruktor för base().
Problem:
Subklassen ärver basklassens datamedlemmar och metoder. Men hur ska konstruktorn ärvas?
Lösningen: Se konstruktorns kod i klassen Employee.
Klassen Date
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.
Super- eller basklassen Person
Subklassen Employee
Programmet Inheritance
Körexempel
Läs om arv i kursboken på sid 108-112.
Copyright © 2022 TechPages AB. All Rights Reserved.






