Wat Is Een Interface?
Wat als we moeten erven van meer dan één klasse? Java maakt dit mogelijk met interfaces. Ondanks de naam lijkt een interface sterk op een abstracte klasse. Laten we eens kijken naar de declaratie van een interface:
Eenvoudig gezegd wordt een interface gebruikt om methoden te definiëren die een klasse zal implementeren. Interfaces hebben een specifieke syntaxis voor het aanmaken. Terwijl we "public class className { }
" gebruikten bij het maken van een klasse, ziet de syntaxis voor het aanmaken van een interface er anders uit:
InterfaceExample.java
123456package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
Let op de methode-declaratie;
Er worden geen toegangsmodificatoren gebruikt;
Er worden geen methode-implementaties gegeven;
Het is niet nodig om methoden als abstract te markeren, aangezien we binnen een interface werken;
Er worden geen velden aangemaakt binnen interfaces.
Beschouwing van het gebruik van een Interface
aan de hand van het voorbeeld van een mediaspeler.
Er is een Interface
genaamd MediaPlayer
met de methoden play
, pause
en stop
. Daarnaast zijn er twee klassen die deze mediaspeler-interface implementeren, namelijk AudioPlayer
en VideoPlayer
.
MediaPlayer.java
AudioPlayer.java
VideoPlayer.java
12345public interface MediaPlayer { void play(); void pause(); void stop(); }
Zoals je kunt zien, hebben we een interface
gemaakt en twee klassen die deze interface implementeren. De syntaxis is hetzelfde als bij het overschrijven van abstracte methoden. We hebben elke methode voor elke klasse overschreven om een eigen specifieke functie uit te voeren.
Een van de kenmerken van interfaces is dat we meer dan één interface kunnen implementeren. Laten we een voorbeeld bekijken:
Vehicle.java
VehicleInfo.java
Car.java
123456package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
We hebben de interfaces Vehicle
en VehicleInfo
aangemaakt. Daarnaast hebben we een klasse Car
gemaakt die beide interfaces implementeert. Op deze manier kunnen we kiezen welk gedrag we in de klasse implementeren, wat goed aansluit bij het objectgeoriënteerde programmeerprincipe van abstractie.
Werken met interfaces is zeer handig en ze worden veelvuldig gebruikt. In het volgende hoofdstuk bekijken we ook de belangrijkste verschillen tussen een interface en een abstracte klasse en leren we welke in de praktijk het beste gebruikt kan worden!
1. Wat is een interface in Java?
2. Kan een klasse in Java meerdere interfaces implementeren?
3. Wat is het doel van een interface in Java?
4. Welke keyword wordt gebruikt om een interface in een klasse te implementeren?
5. Wat gebeurt er als een klasse beweert een interface te implementeren, maar niet voor alle methoden een implementatie biedt?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.