Ich weiß, was die Implementierung einer Schnittstelle bedeutet (technisch), aber ich bin mir nicht sicher, ob ich verstehe, was der "Vertrag" umfasst:Muss eine Klasse sich an den dokumentierten Vertrag einer Schnittstelle halten, um diese Schnittstelle zu implementieren
Lets sagen, ich mache eine Klasse MyList
, die java.util.List
implementiert (das heißt, ich implementiere alle Methoden mit Code, der kompiliert), ist MyList
ein List
dann? ODER muss ich alle Kommentare der Methoden, die ich außer Kraft setze, lesen und sicherstellen, dass meine Implementierung diese "Erwartung" bezüglich des Verhaltens erfüllt?
Ist MyList eine Liste? Ja – Enzokie
@Enzokie Also würde ich 'add' implementieren, um nichts zu tun, und' bekomme', um immer null zurückzugeben, würden Sie es immer noch eine Liste nennen? –
Solange Sie die Liste implementieren, wird sie immer noch als Liste bezeichnet. Am Ende des Tages ist es Ihre Entscheidung, ob Sie etwas auf diese implementierten Methoden setzen oder eine Unsupported Exception werfen, die Tatsache, dass es immer noch eine Liste genannt wird. – Enzokie