NemProgrammering.dk logo
3 måneders gratis webhotel til alle NemProgrammering.dk brugere! Få din UnoEuro Rabatkode her
UnoEuro rabatkode

Nedarvning i objektorienteret C# programmering

WordPress hjemmeside hjælp

Information om denne video

Af Jeppe Borggaard Jørgensen

Se hvordan andre har løst opgaverne til denne serie og del dine egne løsningsforslag her: Løsningsforslag til C# serien

I denne lektion skal vi se på nedarvning i objektorienteret C# programmering. Nedarvning omhandler i store træk, hvordan klasser kan nedarve funktionalitet fra andre klasser. På denne måde behøver du ikke oprette nye klasser fra bunden, hvis du ved at de nye klasse f.eks. skal have de samme metoder som en eller flere andre andre klasser.

Øvelser:
1. Lav furniture klassen som fremvist i videoen.
2. Lav en subklasse kaldet "Chair" og lav dine egne udbygninger. Du skal som minimum have 1 ekstra variabel.
3. Lav en ekstra subklasse kaldet "Computer". Lav igen egne udbygninger, og som minimum skal der være 1 ekstra variabel.
4. Test nu dit program. Lav både en Chair og en Computer. Sæt alle deres instans variabler og udprint information om dem.

* Husk at "override" PrintInfo metoden i både Chair og Computer klassen.

Video tags:

Denne video relaterer til emner såsom: C# kursus, C# tutorial, C# vejledning, C# for begyndere, lav dit eget computer-program, introduktion, kursus for begyndere og nedarvning

Spørgsmål og kommentarer

Har du spørgsmål eller kommentarer? Så skriv herunder! Alternativt kan du kontakte os på vores forum, hvor en masse hjælpsomme personer sidder klar ved tasterne.

Url´er bliver automatisk omdannet til links (nofollow).

kommentar på NemProgrammering.dk - lav din egen hjemmeside
Arvid    08-04-2018

Jeg har et elementært spørgsmål efter at have set flere af jeres udmærkede videoer. Hvad betyder namespace ? Kan det oversættes? Jeg har jo set ordet nogle gange nu. Er det egentlig navnet på det C#-program, som man laver.


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Arvid    08-04-2018

Hej Jeppe Det er muligt, at du har ret. Men ordene singulær nedarvning står altså øverst på denne side: https://www.nemprogrammering.dk/Tutorials/Startviden/teknologierne/hvad-er-csharp.php Mvh. Arvid


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Jeppe B. Jørgensen    05-04-2018

Hej Arvid, I teorien, er ALT "singulær nedarvning" - jeg har personligt aldrig hørt dette ord, og det kan egentlig både være rigtig og forkert alt efter sammenhængen, hvorved man altid bare siger nedarvning generelt. Alle klasser, kan KUN nedarve fra ÉN super-klasse - IKKE flere. Dog, hvis din superklasse nedarver fra en anden klasse, vil du også nedarve den, da det "cascader" nedaf. Fx: Klasse A - nedarver fra intet. Klasse B - Nedarver fra klasse A - klasse A, er klasse B's super-klasse Klasse C - Nedarver fra klasse B - klasse B, er klasse C's super-klasse I dette eksempel nedarver klasse C i teorien BÅDE fra A og B, men det hele er igennem B. Eftersom B nedarver fra A, nedarves det videre til C (dog vil potentielle overrides og ændringer lavet i B også nedarves til A). Det ville ikke være muligt for klasse C explicit at nedarve både fra A og B. Håber det besvarer dit spørgsmål :-) Mit bedste råd ville være blot at glemme det ellers smarte ord "singulær nedarvning" da det kan føre mere til forvirrelse end gavn ;)


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Arvid    05-04-2018

Hej Jeppe Jeg er begynder og har kigget på denne video, og synes den er fin. Men jeg har prøvet at finde ud af, hvad "singulær nedarvning" er, da jeg har set udtrykket et andet sted. Og er det i virkeligheden ikke det, som bliver forklaret i starten af jeres video, hvor en klasse kun kan nedarve fra én superklasse?


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Jonas    21-08-2015

Hej Jeppe Hvad er forskellen på at skrive string med stort eller lille bogstav. Jeg bemærkede nemlig først nu efter 19 episoder, at du skrev string med stort og jeg skev med lille bogstav. -Jonas


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Anonym    10-01-2015

Tak jeppe


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Jeppe    05-01-2015

Hej Anonym, C# kalder selv ToString() på objektet når man angiver den som parameter i metoder der forventer en string som writeLine. Så det klarer den helt selv :) Det sker inde bagved. mvh Jeppe


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Anonym    05-01-2015

Hvorfor skulle du ikke skrive ToString() ved cost? i writeline metoden?