Heim Java javaLernprogramm Analysieren Sie die Rolle von Schnittstellen in Java

Analysieren Sie die Rolle von Schnittstellen in Java

May 03, 2017 pm 02:17 PM
java 接口

Dieser Artikel stellt hauptsächlich die Rolle von Java-Schnittstellen vor und beinhaltet Kenntnisse über die Spezifikationen von Schnittstellen. Freunde, die sie benötigen, können darauf zurückgreifen

1 Die Schnittstelle ist eine Spezifikation

Großartig, Sie wissen bereits, dass es sich bei der Schnittstelle um eine Spezifikation handelt!

Das Bild unten zeigt die Schnittstelle, die uns in unserem Leben begegnet: die Steckdosenschnittstelle.

2. Warum braucht es Vorschriften?

Aufgrund der Schnittstellenspezifikationen:

• Jedes Elektrogerät kann mit Strom versorgt werden, solange es über einen Stecker verfügt, der den Spezifikationen entspricht

• Jeder Hersteller (Siemens-Steckdose, TCL-Steckdose, Bull-Steckdose...) kann Strom liefern, wenn er gemäß den Spezifikationen hergestellt wird.

Die Produktionstechnologie und der Prozess der Steckdosen jedes Herstellers sind unterschiedlich, weil die Schnittstelle Die Implementierung kann unterschiedlich sein, hat jedoch keinen Einfluss auf den normalen Betrieb der Appliance. Die interne Durchführung der Steckdose ist vollständig vom Gerät abgeschirmt.

Das Gleiche gilt für die Softwareentwicklung:

• Durch den Aufruf von Methoden gemäß der Schnittstellenspezifikation können Sie die gewünschten Funktionen erhalten

• Die Schnittstelle entsprechend der Schnittstelle implementieren Spezifikation, kann die gewünschten Funktionen bereitstellen

Der nächste Schritt ist der entscheidende Punkt:

• Softwareentwicklung ist meist eine Gemeinschaftsarbeit: Elektrogeräte und Steckdosen werden von verschiedenen erstellt Nach Abschluss der Arbeiten kann jeder mit der Schnittstelle separat arbeiten und nach Abschluss jeder Arbeit problemlos zusammengeführt werden. Auch das Testen verschiedener Teile ist komfortabler.

• Die Software muss sich weiterentwickeln: Heute verwenden Sie einen Bull-Sockel, und in einem Jahr wechseln Sie möglicherweise zu einem Siemens-Sockel. Wenn Sie nicht über diese nationalen Schnittstellenstandards verfügen und unabhängig arbeiten, dann tun Sie das Wahrscheinlich wird es nicht möglich sein, den Sockel zu wechseln. Denken Sie darüber nach: Jedes Mal, wenn wir auf Geschäftsreise in die USA gehen, müssen wir einen Adapter mitbringen, sonst sind wir auf den Knien. Wie unpraktisch ist das, weil die Schnittstellenspezifikationen unterschiedlich sind! (Riechen Sie bei diesen Adaptern einen starken Adaptermodus-Geruch?)

3. Wann müssen Sie Spezifikationen über Schnittstellen festlegen?

Um ein gewisses öffentliches Verhalten des Systems zu abstrahieren oder die Variabilität zu kapseln, müssen Sie es extrahieren bei der Gestaltung der Systemschnittstelle, damit Ihr System in Zukunft flexibler ist. Wie Sie sagten, ist die Methode, die Implementierung direkt zu schreiben, natürlich auch in deterministischen Szenarien möglich. Wenn Faktoren wie Arbeitsteilung und Zusammenarbeit, Variabilität und Testkomfort nicht berücksichtigt werden, sind Schnittstellen natürlich nicht erforderlich. Unter normalen Umständen müssen Sie beispielsweise die Schnittstelle und die Implementierung für den Getter und Setter eines Pojos nicht trennen. Deshalb lehren uns objektorientierte Meister unermüdlich: getrennte Schnittstelle und Implementierung sowie schnittstellenorientierte Programmierung.

Das obige ist der detaillierte Inhalt vonAnalysieren Sie die Rolle von Schnittstellen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Quadratwurzel in Java

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Perfekte Zahl in Java

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Zufallszahlengenerator in Java

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Armstrong-Zahl in Java

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Weka in Java

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Smith-Nummer in Java

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

Fragen zum Java Spring-Interview

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Brechen oder aus Java 8 Stream foreach zurückkehren?

See all articles