Heim > Java > JavaBase > Hauptteil

Was ist der Unterschied zwischen abstrakten Java-Klassen und -Schnittstellen?

Guanhui
Freigeben: 2020-06-23 16:37:39
Original
2690 Leute haben es durchsucht

Was ist der Unterschied zwischen abstrakten Java-Klassen und -Schnittstellen?

Was ist der Unterschied zwischen abstrakten Java-Klassen und -Schnittstellen?

1. Abstrakte Klassen können eine teilweise Implementierung bestimmter Methoden bereitstellen, Schnittstellen jedoch nicht.

2 Abstrakte Klassen sind nicht unbedingt implementiert das übergeordnete Element Alle nicht implementierten Methoden in der Klasse und Schnittstellen Eine Klasse kann mehrere Schnittstellen haben und die Methoden müssen implementiert werden.

Abstrakte Klassen verstehen

Abstractclass und Interface werden beide verwendet, um abstrakte Klassen in der Java-Sprache zu erstellen (die abstrakte Klasse in diesem Beispiel). Der Artikel ist keine Übersetzung von „abstractclass“, sondern stellt einen abstrakten Körper dar. „Abstractclass“ ist eine Methode zum Definieren abstrakter Klassen in der Java-Sprache. Bitte beachten Sie die Unterscheidung. Welche Vorteile bietet die Verwendung abstrakter Klassen? bringen wir mit?

Im objektorientierten Konzept wissen wir, dass alle Objekte durch Klassen dargestellt werden, aber das Gegenteil ist nicht der Fall. Nicht alle Klassen werden zur Beschreibung von Objekten verwendet. Wenn eine Klasse nicht genügend Informationen zur Beschreibung eines bestimmten Objekts enthält, ist eine solche Klasse eine abstrakte Klasse. Abstrakte Klassen werden oft verwendet, um abstrakte Konzepte darzustellen, die wir aus der Analyse und Gestaltung von Problembereichen ableiten. Es handelt sich um Abstraktionen aus einer Reihe spezifischer Konzepte, die unterschiedlich aussehen, aber im Wesentlichen gleich sind. Wenn wir beispielsweise eine Grafikbearbeitungssoftware entwickeln, werden wir feststellen, dass es im Problembereich bestimmte Konzepte gibt, die unterschiedlich sind, aber alle zum Konzept der Form gehören die Problemdomäne. Wenn sie existiert, handelt es sich um ein abstraktes Konzept. Gerade weil abstrakte Konzepte keine entsprechenden konkreten Konzepte im Problembereich haben, können die zur Darstellung abstrakter Konzepte verwendeten abstrakten Klassen nicht instanziiert werden.

Im objektorientierten Bereich werden abstrakte Klassen hauptsächlich zum Verstecken von Typen verwendet. Wir können eine abstrakte Beschreibung eines festen Satzes von Verhaltensweisen konstruieren, aber dieser Satz von Verhaltensweisen kann beliebig viele mögliche konkrete Implementierungen haben. Diese abstrakte Beschreibung ist die abstrakte Klasse, und diese Menge aller möglichen konkreten Implementierungen wird durch alle möglichen abgeleiteten Klassen repräsentiert. Module können auf einem abstrakten Körper arbeiten. Da ein Modul auf einer festen Abstraktion basiert, kann es nicht gleichzeitig geändert werden. Das Verhalten dieses Moduls kann auch durch Ableitung von dieser Abstraktion erweitert werden. Leser, die mit OCP vertraut sind, müssen wissen, dass abstrakte Klassen der Schlüssel sind, um OCP (Open-ClosedPrinciple), eines der Kernprinzipien des objektorientierten Designs, zu realisieren.

Empfohlenes Tutorial: „Java-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen abstrakten Java-Klassen und -Schnittstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!