|
| ? Interface VS single inheritance Fra : Henrik |
Dato : 27-05-03 06:45 |
|
Hej NG !
I flere at mine Java bøger, står at Java er "single-inheritance -
hvilket kan være et problem. Dette kan dog løses ved brug af
interfaces".
Spørgsmål:
Jeg har svært ved at se, at et interface kan erstatte de muligheder
der er ved arv. Er det mig der ikke har forstået fidusen ?
mvh, Henrik
| |
Rico Wind (27-05-2003)
| Kommentar Fra : Rico Wind |
Dato : 27-05-03 07:26 |
|
"Henrik" <xs650@ofir.dk> skrev i en meddelelse
news:a6a8ae2b.0305262145.7d46206e@posting.google.com...
> Hej NG !
>
> I flere at mine Java bøger, står at Java er "single-inheritance -
> hvilket kan være et problem. Dette kan dog løses ved brug af
> interfaces".
>
> Spørgsmål:
> Jeg har svært ved at se, at et interface kan erstatte de muligheder
> der er ved arv. Er det mig der ikke har forstået fidusen ?
>
Interfaces kan ikke erstatte nedarvning, men det kan tvinge
subcklasserne til at implementere nogle bestemte metoder!
Derved kan stadig garantere at disse metoder er til stede,
blot ikke hvordan de er implementeret.
Men dette er jo heller ikke garanteret ved nedarvning da
subklasser kan overskrive metoder fra superklassen.
Det store minus ved interfaces er nok at man kan komme ud
for at man skal lave den samme metode, som gør nøjagtigt
det samme i flere klasser.
Det skal dog siges at der jo også er nogle ulemper hvis der var
mulighed for multiple nedarvning. F.eks. hvis to superklasser
har metoder med samme navn, hvilken skal så nedarves?
/rw
| |
Jonathan Stein (27-05-2003)
| Kommentar Fra : Jonathan Stein |
Dato : 27-05-03 11:25 |
|
Henrik wrote:
> I flere at mine Java bøger, står at Java er "single-inheritance -
> hvilket kan være et problem. Dette kan dog løses ved brug af
> interfaces".
Det er nok en lidt hurtig formulering. Det ville være mere præcist at
sige, at man i nogle tilfælde kan anvende interfaces i stedet for
multipel nedarvning.
M.v.h.
Jonathan
--
Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
(giver mulighed for eget SSL-certifikat).
http://www.jsp-hotel.dk/
| |
Anders K. Olsen (27-05-2003)
| Kommentar Fra : Anders K. Olsen |
Dato : 27-05-03 22:07 |
|
"Henrik" <xs650@ofir.dk> skrev i en meddelelse
news:a6a8ae2b.0305262145.7d46206e@posting.google.com...
> I flere at mine Java bøger, står at Java er "single-inheritance -
> hvilket kan være et problem. Dette kan dog løses ved brug af
> interfaces".
>
> Spørgsmål:
> Jeg har svært ved at se, at et interface kan erstatte de muligheder
> der er ved arv. Er det mig der ikke har forstået fidusen ?
Det afhænger af hvad du vil bruge nedarvning til. Hvis det er
implementation/kodegenbrug, så kan du ikke bruge interfaces. Hvis det
derimod er type nedarvning du er interesseret i, så fungerer interfaces
fint.
/Anders
| |
|
|