Hjælp til at forstå interface klasse

Tags:    java

Hejsa

Er igang med en opgave, hvor jeg skal tilføje et interface til mit Java-projekt. For at jeg kan gøre det rigtigt, skal jeg kunne forstå metoderne i interfacet. Det skal bygges op som 3 lags modellen.

Interfacet som jeg ikke helt forstår, ser således ud.

public interface IOperatoerDAO {

OperatoerDTO getOperatoer(int oprId) throws DALException;
List<OperatoerDTO> getOperatoerList() throws DALException;
void createOperatoer(OperatoerDTO opr) throws DALException;
void updateOperatoer(OperatoerDTO opr) throws DALException;

}

Har desuden en "OperatoerDTO" klasse hvor jeg har tænkt mig at lave en arraylist, som indeholder data om de forskellige operatører ;)

Hvis en kunne fortælle mig hvad der sårn står, i interfacet (hver linje) så jeg forstår det.

især dette her: List<OperatoerDTO> getOperatoerList()


Håber at høre fra dette skønne forum ;)




2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato
Et interface er en klasse der bruges til at udtrykke generelle regler for de klasser der implementerer dem, samt gør de klasser der implementerer dem, i stand til at bruge polymorfi.

Interfacet her har 4 metoder, som skal implementeres når dette interface bruges i en klasse.

OperatoerDTO getOperatoer(int oprId) throws DALException; - er en metoder der returnerer et OperatorDTO objekt, på baggrund af et id.
List<OperatoerDTO> getOperatoerList() throws DALException; - denne metode derimod returnerer en hel liste af disse objekter. ArrayList klassen nedarver bl.a. fra List klassen, og et ArrayList er derfor også en List.

Det to sidste metoder bruges til at oprette og opdatere et objekt.

Det smarte ved interfacet er egentlig teorien om nedarvning og polymorfi, der gør klasser der implemeneterer dette interface, til at kunne genbruges.

f.eks. hvis du har en generel 'template' til dine DAL objekter, kunne et interface se således ud

Fold kodeboks ind/udJava kode 


Så kunne du implementere dette i alle dine DAL klasser, for at kunne genbruge interfacet og opstille generelle regler for alle dine DAL klasser.

Fold kodeboks ind/udJava kode 


Du kan nu arbejde med begge klasser, uden egentlig at kender deres oprindelige datatype.

Fold kodeboks ind/udJava kode 




Mange gange tak Martin.. det var lige præcis den redegørelse jeg skulle bruge for at komme videre med min programmering :D





t