ArrayList

Tags:    java

Hvis man er givet en arraylist sådan her:

Fold kodeboks ind/udKode 

Hvordan skal den behandles?
Som en funktion?



Den skal behandles som et almindeligt objekt.



Hvordan bruger man den? Hvis jeg bruger den som en alm. arraylist, får jeg en fejl med at min klasse er "not abstract and does not override abstract method"



Hvis man er givet en arraylist sådan her:

Fold kodeboks ind/udKode 

Hvordan skal den behandles?
Som en funktion?


Du får en fejlmeddelelse fordi du kun må definere metodens navn, men ikke lave metodens indhold, når du laver et interface.

String er en Class og ved at bruge navnet kalder du metoder i String, Fy! ;)

Du skal bare definere en almindelig class og lave objekter fra den. En class behøver ikke at have metoder.

Lidt om interfaces, som jeg forstår det.

Prøv at se i dette .pdf dokument side 20:
http://javabog.dk/foredrag/VPJ-1_E2005/vpj_02.pdf

Et interface er en "tom" skabelon, eller en kontrakt om du vil, som fastlægger nogle metoder du SKAL definere i den class der implimenter interfacet.

Som i MouseListener:
Fold kodeboks ind/udKode 


En af de smarte ting ved Java er at Class-er kan arve variable og metoder ved at at bruge extends i definitionen af sin class.

Fold kodeboks ind/udKode 


Problemet er at man kun kan arve fra en class (og alle dens super-classer)

Hvis man har flere class-er som har "fedtberegninger" som super-class kan de normalt ikke bruge hinandens metoder og på den måde sende oplysninger mellem class-erne.

Her kommer interface ind.

Du kan implementere flere interfaces i din class og når en eller anden metode fra en af din class-es interface-metoder bliver kaldt, vil den metode du har defineret i din class blive udført.

Fold kodeboks ind/udKode 


Når metoden ringPaa() bliver kaldt i TrykPaaKnap siger det dyt og ding fordi givLyd() i både Horn og Klokke bliver kaldt.

Sådan mener jeg at interfaces virker. Hvis nogen ved bedre, vil jeg også gerne vide det.

Mvh
Anders



t