Was ist ein Interface in der Programmierung?
Ich hab das irgendwie im Zusammenhang mit Typescript undJava gehört.
Die frage war ungefähr ob Ts/js auch wie java interfaces haben.
Leider kann ich kein Java und sonst hab ich Interface auch nie gehört als ich Js Gelernt habe.
Kenne nur das wort User-Interface/UI/ GUI usw aber das hat nichts damit zu tun
2 Antworten
Suche im Internet halt nach "Java-Interface", da wirst du reichlich Erklärungen finden.
Kurz gesagt:
Java-Interfaces enthalten Methoden, welche keinen Methodenrumpf besitzen. Sie können ähnlich wie abstrakte Klassen Methoden vorgeben, die andere Klassen implementieren müssen. Das gilt für alle Klassen, welche das Interface implementieren (Schlüsselwort: implements). Mit Interfaces ist es möglich, die fehlende Mehrfachvererbung in Java auszugleichen, da Klassen mehrere Interfaces implementieren können, nicht aber von mehreren Oberklassen erben können. Wenn du das genauer verstehen willst und du Erklärungen bereits gelesen hast, schau dir unbedingt Beispiele an.
In Java ist ein Interface in erster Linie eine abstrakte Klasse. (Das schon mal gehört?)
Eine Klasse kann von dieser erben und kann ihre Methoden überschreiben.
In Java notiert man eine abstrakte Klasse mit
abstract class XYZ { . . . }
Der Unterschied zum Interface
interface XYZ { . . . }, ist das alle Methoden des Interfaces beim erben überschrieben werden müssen. Im Interface etwas implementieren kann man selbst nur eingeschränkt, z. B. über das default Keyword. Sicherlich gibt es noch mehr Feinheiten, aber grob kann ich das so stehen lassen.