Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Arv Idéen i arv et at kunne genbruge gennem generalisering

Lignende præsentationer


Præsentationer af emnet: "Arv Idéen i arv et at kunne genbruge gennem generalisering"— Præsentationens transcript:

1 Arv Idéen i arv et at kunne genbruge gennem generalisering
Når der nedarves vil såvel data som metoder ”følge” med i den nye klasse uden at disse dele skal kodes igen Da objekter ”fødes” som en bestemt klasse og kan ikke ændre klasse. Klassen skal selv have en constructor til initiering, der dog kan udnytte constructoren for den nedarvede base klasse.

2 Polymorfi Idéen i polymorfi er, at man kan anvende et objekt, der er baseret på arv på et højere abstaktionsniveau (baseret på den overordnede klasse) og alligevel lade det være metoder implementeret på den konkrete klasse der bliver udført. Behandles en samling objekter med samme metode, kan disse altså give forskellige udførsel afhængig af hvilke klasser de konkret er baseret på. Metoder af denne type kaldes ofte virtuelle metoder.

3 C# metod modifier

4 C# metod modifier

5 Eksempler på strukturer med arv
Det er ikke altid nemt med arve-hirakier Som det ses her kan figurer opdeles i 2-d og 3-d, men hvor skal et punkt nu placeres, idet det jo både kan optræde i forbindelse med 1-d, 2-d og 3-d…. Et andet eksempel er her at der er flere felter knyttet til en elipse end der er behov for til en cirkel (2 punkter og en radius eller 2 radiuser). Det kunne derfor være fristende at lade elpise være en specialisering af en cirkel, men det er ikke matematisk korrekt, idet cirklen her er en speciel elipse. Samme problem vil være omkring et rektangel og et kvadrat. Her kan interfaces være en løsning i stedet.

6 Eksempler på strukturer med arv

7 Eksempler på strukturer med arv

8 Eksempler på strukturer med arv

9 Eksempler på strukturer med arv

10 Eksempler på strukturer med arv

11 Eksempler på strukturer med arv

12 Eksempler på strukturer med arv
Opgave Følgende laves i et consolapplikation projekt. Implementer Kæledyr: Klassens 3 felter Constructor til initiering af de 3 felter Hentalder som en virtual metode, der returner alderen Fældhår metode der udskriver at hår fældes på consollen SigNoget som en abstrakt metode ToString, der returnerer tekst med klassens felter Implementer Kat som nedarver fra Kæledyr: Constructor til initiering af de 3 felter, ved brug af baseklassens constructor SigNoget metoder der udskriver Miav på consollen Implementer Hund som nedarver fra Kæledyr: Klassens ”ekstra” felter Constructor til initiering af klassens 4 felter, ved brug af baseklassens constructor Hentalder som returnerer alderen ganget med 7 SigNoget metoder der udskriver Wow på consollen I program-klassens Main metode afprøves klasserne. Lav en List<Kæledyr> og tilføj nogle hunde og nogle katte. Lav herefter et gennemløb med foreach og prøv mesom kæledyr. Lav herefter et nyt gennemløb hvor du tester om det er en hund eller kat med is-operatoren og brug as-operatoren eller typecast til hunde-klassen eller katte-klassen for at kunne bruge dennes specielle metoder.


Download ppt "Arv Idéen i arv et at kunne genbruge gennem generalisering"

Lignende præsentationer


Annoncer fra Google