Interface voorbeelden in java

Java biedt onder meer de volgende interfaces aan:

  • Serializable
  • Closeable
  • AutoCloseable
  • Iterable
  • Cloneable
  • Runnable
  • Predicate
  • Consumer

We zullen ze de meeste interfaces nog nader bij bekijken in de volgende hoofdstukken. Elk voorzien ze 1 of meer functionaliteiten in de vorm van abstracte methodes, behalve de interface Serializable. Deze abstracte methodes kan je zien als knoppen, draaiwielen, dashboard enz. van het toestel. Dat wat we gebruiken om het toestel aan te sturen en controleren.

Neem de volgende, zelf te maken, Scalable-interface:

public interface Scalable {
   public abstract void scale(int factor);
}

Deze heeft maar 1 functie, het schalen van een figuur. Hiermee kunnen we een figuur laten vergroten en verkleinen. Het heeft wel een factor nodig om te weten welke schaal je wilt (als parameter). Hoe de figuur dit moet aanpakken is hierbij niet beschreven (abstract). Typisch voor een interface.

Vervolgens de Drawable-interface:

public interface Drawable extends Scaleable {
   public abstract void draw(DrawingContext dc);
}

Deze Interface laat het toe om een figuur zichzelf te doen tekenen, gebruik makende van een DrawingContext instantie.

De Interface Drawable is een uitbreiding (extends) op de interface Scalable, dus alle klassen of interfaces die deze Interface overerven(extends/implements, respectievelijk) kunnen niet alleen zichzelf tekenen, maar ook schalen.