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
- public interface IDAL {
-
- void createDAL();
- void removeDAL(int id);
-
- }
Så kunne du implementere dette i alle dine DAL klasser, for at kunne genbruge interfacet og opstille generelle regler for alle dine DAL klasser.
- public class MyDAL1 implements IDAL {
-
- void createDAL() {
- //Implement code here
- }
-
- void removeDAL(int id) {
- //Implement Code here
- }
-
- }
-
-
-
- public class MyDAL2 implements IDAL {
-
- void createDAL() {
- //Implement code here
- }
-
- void removeDAL(int id) {
- //Implement Code here
- }
-
-
- }
Du kan nu arbejde med begge klasser, uden egentlig at kender deres oprindelige datatype.
- //Get a random DAL object.
- IDAL myDAL = new MyDAL1();