In der Welt der Codierung EDV-Anwendungen, ist es eine gute Sache, ein fauler Programmierer sein . Genauer gesagt, es spart Zeit , Hilfsmittel zu benutzen , dass andere Programmierer für einen bestimmten Zweck , anstatt sich aus neu zu erfinden das Rad geschaffen. In der Programmiersprache Java , sind zwei der Formen diese Werkzeuge Programmierer machen für sich selbst oder andere Programmierer können Schnittstellen und abstrakte Klassen . Class Models
Beide Schnittstellen und abstrakte Klassen dienen als eine Art Schablone für eine bestimmte Klasse . Programmierer erstellen diese Klassen , um bestimmte Verhaltensweisen Generika für die Klasse angeben , und erlauben die individuelle Programmierer, endet mit der Klasse, um die Verhaltensweisen der Klasse für die Programmierer bestimmte Anwendung angeben . Während sie beide als allgemeine Modelle , sie für verschiedene Protokolle und Erklärungen haben verhängen unterschiedliche Anforderungen an das Ende Programmierer.
Klasse Deklarationen und Implementierungen
Programmierer angeben, ob eine Klasse ist eine Schnittstelle oder eine abstrakte Klasse mit verschiedenen Keywords in der Klassendeklaration . Dies wird entweder " Schnittstelle " mit dem Namen der Schnittstelle , oder " abstrakte Klasse " von der Klasse ' Name gefolgt sein . Programmierer entweder mit der abstrakten Klasse oder Schnittstelle verwenden Sie nicht die Klasse direkt, sondern erstellen eine Sub- Klasse von der jeweiligen Klasse Typ sie verwenden werden . Um eine Schnittstelle zu verwenden, würde ein Programmierer hinzufügen " implementiert das Interface " wo " Schnittstelle " ist der Name der jeweiligen Schnittstelle . Um eine abstrakte Klasse zu verwenden, würde ein Programmierer hinzufügen "extends AbstractClass " wo " AbstractClass " ist der Name der abstrakten Klasse .
Methodenimplementierungen
Unterklassen Methoden können in ihrer übergeordneten Klasse ( in diesem Fall wird die Schnittstelle oder eine abstrakte Klasse ) überschreiben. Wenn ein Programmierer eine Methode deklariert mit dem gleichen Namen wie eine Methode in der übergeordneten Klasse , dann wird das Programm den Code für die Methode, die der Benutzer sieht anstelle des Codes in der übergeordneten Methode verwenden. In abstrakten Klassen werden einige Methoden deklariert werden " abstrakt. " Diese Methoden befassen sich mit den Besonderheiten, wie eine Klasse verwendet werden , und das Ende Programmierer muss over-ride die Methoden, die als abstrakte deklariert werden. In Schnittstellen verfügt der Anwender über - fahren jede Methode in der Schnittstelle.
Situative Nutzungsbedingungen
Diese funktionellen Unterschiede sich dafür eignen, auf bestimmte Anwendungen . Verwendung einer Schnittstelle stellt sicher, dass eine bestimmte Klasse alle Anforderungen für eine bestimmte Datenstruktur entsprechen. Zum Beispiel kann ein Programmierer , der seine eigene Bibliothek Netzwerkverbindung hergestellt Funktionen machen Programmierer Nutzung und Interface-Klasse er für Daten konzipiert , dass das Ende Programmierer zu senden mit diesen Funktionen will. Die Schnittstelle wird sichergestellt, dass jede ausgehende Übertragung wird alles, was die Bibliotheken brauchen , um erfolgreich zu senden , dass die Daten . Alternativ könnte die gleichen Programmierer machen eine abstrakte Klasse , die Methoden enthalten , die detailliert die Schrauben und Muttern der die Daten sendet , aber das Ende Programmierer benötigt, um über - fahren bestimmte Methoden Umgang mit dem würden die Daten gesendet oder was gesendet werden.