Heim > Java > javaLernprogramm > Die Definition und der Unterschied zwischen abstrakten Klassen und Schnittstellen

Die Definition und der Unterschied zwischen abstrakten Klassen und Schnittstellen

零下一度
Freigeben: 2017-07-18 17:52:49
Original
1380 Leute haben es durchsucht

1. Was ist eine abstrakte Klasse?

Wenn mehrere Klassen Verhaltensweisen derselben Art aufweisen, wie z. B. das Gehen von Menschen und das Gehen von Tieren, ist das Gehen ein Verhalten der gleichen Art in zwei verschiedenen Klassen: Menschen und Tiere Erleichterung der Verwaltung, Sie können diese Verhaltensweisen in eine Klasse abstrahieren und so eine Klasse erstellen, die die gemeinsamen Verhaltensweisen mehrerer Klassen kombiniert. Diese Klasse ist die abstrakte Klasse.

2. Was ist eine Schnittstelle?

Die beiden Klassen weisen nicht nur Verhaltensweisen gleicher Natur auf, sondern auch Verhaltensweisen unterschiedlicher Natur. Beispielsweise schlafen Menschen, Vögel schlafen, Vögel fliegen und Schlafen ist bei Menschen üblich Vögel Verhalten kann in einer abstrakten Klasse definiert werden, aber Fliegen ist kein gemeinsames Verhalten zwischen Menschen und Vögeln und kann nicht in einer abstrakten Klasse definiert werden. Dieses nicht gemeinsame Verhalten kann in einer speziellen Klasse definiert werden Unter den Klassen ist diese spezielle Klasse die Schnittstelle.

3. Unterschiede

Unter Verwendung von n Klassen als Forschungsobjekt werden die gemeinsamen Verhaltensweisen von n Klassen in abstrakten Klassen und einigen Klassen definiert share Das Verhalten, bei dem die Anzahl der gemeinsam genutzten Klassen n nicht erreicht, wird in der Schnittstelle definiert.

Abstrakte Klassen spiegeln die allgemeine Gemeinsamkeit wider, während Schnittstellen die lokale Gemeinsamkeit widerspiegeln.

Die Wahl der abstrakten Klasse und Schnittstelle hängt vom Umfang des Anliegens ab. Wenn der betroffene Bereich klein ist und die aus diesem kleinen Bereich abstrahierten Objekte alle das gleiche Verhalten aufweisen, kann abstrakte Klassen verwenden, um gemeinsame Verhaltensweisen zu verwalten. Wenn der Problembereich relativ groß ist und innerhalb dieses großen Bereichs bestimmte Verhaltensweisen nur von einigen Objekten geteilt werden, können diese Verhaltensweisen nur in der Schnittstelle definiert werden.

Das obige ist der detaillierte Inhalt vonDie Definition und der Unterschied zwischen abstrakten 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