L’interface est un système qui permet aux classes d’indiquer qu’il se conforment à certaines méthodes.
Cela permet ensuite d’utiliser des objets se conformant à l’interface même si les objets peuvent être autrement très différents.
L’interface sera un fichier à part qui ressemble à une classe, mais qui ne peut pas être instancé. D’autres classes pourront implémenter l’interface.
Contrairement à l’héritage, les classes peuvent implémenter plusieurs interfaces en même temps.
public interface Measurable{
double getMeasure();
}
public static double average(Measurable[] objects) {
double sum = 0;
for (Measurable obj : objects) {
sum = sum + obj.getMeasure();
}
if (objects.length > 0) {
return sum / objects.length;
}
else {
return 0;
}
}
N’importe quels objets qui se conformeront à l’interface pourront être envoyés à la méthode.
public class BankAccount implements Measurable{
// Code
public double getMeasure(){
return balance;
}
}
public class Country implements Measurable{
// Code
public double getMeasure(){
return area;
}
}
publique
.