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.
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.
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!