Kursinhalt
Java Oop
Java Oop
Was Ist Ein Interface?
Was ist, wenn wir von mehr als einer Klasse erben müssen? Java ermöglicht dies mit Interfaces. Trotz des Namens ähnelt ein Interface einer abstrakten Klasse. Sehen wir uns die Deklaration eines Interfaces an:
Einfach ausgedrückt wird ein Interface verwendet, um Methoden zu definieren, die eine Klasse implementieren wird. Interfaces besitzen eine eigene Syntax zur Erstellung. Während wir für eine Klasse "public class className { }
" verwenden, sieht die Syntax zur Erstellung eines Interfaces anders aus:
InterfaceExample.java
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
- Beachten Sie die Methodendeklaration;
- Es werden keine Zugriffsmodifizierer verwendet;
- Es werden keine Methodenkörper bereitgestellt;
- Es ist nicht erforderlich, Methoden als abstract zu kennzeichnen, da wir innerhalb eines Interface arbeiten;
- Es werden keine Felder in Interfaces erstellt.
Betrachten wir die Verwendung eines Interface
am Beispiel eines Media Players.
Wir haben ein Interface
namens MediaPlayer
, das die Methoden play
, pause
und stop
enthält. Zusätzlich gibt es zwei Klassen, die dieses Media Player Interface implementieren, nämlich AudioPlayer
und VideoPlayer
.
MediaPlayer.java
AudioPlayer.java
VideoPlayer.java
public interface MediaPlayer { void play(); void pause(); void stop(); }
Wie Sie sehen, haben wir ein interface
und zwei Klassen erstellt, die dieses Interface implementieren. Die Syntax ist identisch wie beim Überschreiben abstrakter Methoden. Wir haben jede Methode für jede Klasse überschrieben, sodass jede ihre eigene spezifische Funktion ausführt.
Ein Merkmal von Interfaces ist, dass wir mehr als ein Interface implementieren können. Schauen wir uns ein Beispiel an:
Vehicle.java
VehicleInfo.java
Car.java
package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
Wir haben die Schnittstellen Vehicle
und VehicleInfo
erstellt. Zusätzlich haben wir eine Klasse Car
erstellt, die beide dieser Schnittstellen implementiert. Auf diese Weise können wir auswählen, welches Verhalten in der Klasse implementiert wird, was das objektorientierte Programmierprinzip der Abstraktion hervorragend ergänzt.
Die Arbeit mit Schnittstellen ist sehr komfortabel und sie werden umfangreich eingesetzt. Im nächsten Kapitel werden wir außerdem die wichtigsten Unterschiede zwischen einer Schnittstelle und einer abstrakten Klasse untersuchen und erfahren, welche in der Praxis besser geeignet ist!
1. Was ist eine Schnittstelle in Java?
2. Kann eine Klasse in Java mehrere Schnittstellen implementieren?
3. Was ist der Zweck eines Interface in Java?
4. Welches Schlüsselwort wird verwendet, um ein Interface in einer Klasse zu implementieren?
5. Was passiert, wenn eine Klasse angibt, ein Interface zu implementieren, aber nicht alle Methoden implementiert?
Danke für Ihr Feedback!