Avatar billede sovsekoder Nybegynder
19. oktober 2004 - 09:51 Der er 7 kommentarer og
1 løsning

Abstract classes og arv

kan en klasse arve fra 2 abstract classes og flere interfaces på samme tid?
Avatar billede sovsekoder Nybegynder
19. oktober 2004 - 09:56 #1
ok, mit spørgsmål var ikke helt korrekt sorry:

jeg har to abstract classes A og B, og en række interfaces I1,I2,...,In

så vil jeg gerne have en klasse C som arver fra både A og B og alle interfaces (class C : A,B,I1,I2,...,In). Men samtidig også en klasse D som kun arver fra A og igen samtlige interfaces; class D : A,I1,I2,...,In
Avatar billede arne_v Ekspert
19. oktober 2004 - 09:58 #2
Det kan du ikke.

I C# kan du kun arve fra 1 klasse - abstrakt eller ej.

Du kan sagtens implementere mange interfaces.
Avatar billede arne_v Ekspert
19. oktober 2004 - 09:59 #3
Så din D er OK.

Men din C har et problem. Den kan sagtens implementere I1..In, men du bliver nødt til
at vælge mellem A og B.
Avatar billede snepnet Nybegynder
19. oktober 2004 - 09:59 #4
Hmm... hvis du kigger i IL-koden vil du se at et interface sådan set også er en klasse, så på den måde kan man sige at multibel arv er understøttet (arne har skrevet noget herude om det på et tidspunkt).

I praksis er det dog ikke mulig... Du kan kun arve fra én klasse, men du kan implementere alle de interfaces du vil.

mvh
Avatar billede snepnet Nybegynder
19. oktober 2004 - 10:00 #5
nå - der var du jo arne.... kunne ikke forstå du ikke havde svaret :oD
Avatar billede arne_v Ekspert
19. oktober 2004 - 10:00 #6
Oplagte muligheder:

- lav A eller B om til et interface
- lad A arve fra B eller omvendt
- brug encapsulation i.s.f. arv
Avatar billede sovsekoder Nybegynder
19. oktober 2004 - 12:11 #7
ok... det blir' redesign. tak for svaret.
arne_v du får point får det klare svar: "det kan du ikke"
Avatar billede arne_v Ekspert
19. oktober 2004 - 13:19 #8
så ligger jeg et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester