Was ist die abstrakte OOP-Klasse in PHP?

Was Ist Die Abstrakte Oop Klasse In Php



Das Fundament der „Objektorientierte Programmierung“ (OOP) Paradigma ist die Vorstellung, dass „Objekte“ kann sowohl Code als auch Daten enthalten. Eine der Hauptkomponenten der objektorientierten Programmierung (OFFEN) In PHP , eine beliebte Skriptsprache, ist die Verwendung von abstrakte Klassen . In PHP, ein abstrakte Klasse dient als Modell für die Erstellung anderer Klassen, da es nicht alleine instanziiert werden kann. Dieser Artikel behandelt abstrakte Klassen Definition, Funktionalität und Verwendung in PHPs OOP.

Was ist eine abstrakte Klasse?

Zunächst ist es wichtig zu verstehen, was ein abstrakte Klasse ist in PHP . Eine Klasse, die nicht instanziiert oder direkt in ein Objekt umgewandelt werden kann, wird als be bezeichnet abstrakt . Stattdessen verwenden andere Klassen, die davon erben, sie als Basis- oder übergeordnete Klasse. Abstrakte Klassen stellen keine spezifische Implementierung der abgeleiteten Klassen bereit; vielmehr skizzieren sie ihre Struktur und ihr Verhalten. Dies ermöglicht es abgeleiteten Klassen, ihr eigenes unverwechselbares Verhalten beizubehalten, während sie sich weiterhin an das grundlegende Framework halten, das von der abstrakten Klasse bereitgestellt wird.

Im Rahmen PHP 'S OFFEN , abstrakte Klassen dienen als Mittel zum Definieren einer Basissammlung von Merkmalen, die von mehreren abgeleiteten Klassen gemeinsam genutzt werden können. Entwickler können eine Vorlage für Klassen bereitstellen, die von einer abstrakten Klasse erben, indem sie sie erstellen. Um sicherzustellen, dass alle abgeleiteten Klassen der gleichen Schnittstelle entsprechen, dient dieser Entwurf als Vertrag zwischen der abstrakte Klasse und die abgeleiteten Klassen. Die Implementierungsspezifika werden jeder Unterklasse überlassen, aber diese Schnittstelle spezifiziert die gemeinsamen Methoden, die für alle Unterklassen notwendig sind. An der abstrakten Klasse vorgenommene Änderungen werden sofort an alle abgeleiteten Klassen weitergegeben, die sie verwenden, was eine stärkere Wiederverwendung des Codes und eine einfachere Wartung ermöglicht.







Wie funktionieren abstrakte Klassen in PHP?

Wenn das Schlüsselwort „abstrakt“. verwendet wird, um eine Klasse zu definieren, wird PHP darüber informiert, dass die Klasse nicht instanziiert werden kann. Beide abstrakt Und nicht abstrakt Methoden finden Sie in abstrakte Klassen . Abstrakt Methoden werden mit definiert 'abstrakt' Schlüsselwort und stellen keine Implementierung bereit – sie deklarieren einfach die Methodensignatur. Diese abstrakten Methoden müssen durch abgeleitete Klassen implementiert werden, die von abgeleitet sind abstrakte Klasse . Nicht abstrakt Methoden hingegen stellen eine Standardimplementierung bereit, die von abgeleiteten Klassen überschrieben werden kann.



Schauen wir uns ein Beispiel an:





abstrakt Klasse Mich {

abstrakt Funktion Über mich ( $name , $Alter ) ;

}

Klasse Einleitung erweitert Mich {

Funktion Über mich ( $name , $Alter ) {

Echo 'Ich heiße $name und mein Alter ist $Alter ' ;

}

}

$ ein = neu Einleitung ( ) ;

$ ein -> Über mich ( 'Bob' , einundzwanzig ) ;

?>

Im obigen Code ist die abstrakte Methode im abstrakte Elternklasse „Me“ hat zwei Argumente, „name“ und „age“. Die untergeordnete Klasse „Intro“ definiert ebenfalls dieselbe Funktion mit diesen beiden Argumenten, und die Intro-Anweisung wird auf dem Bildschirm ausgegeben.





Ausgang



Vorteile abstrakter Klassen in PHP

1: Wiederverwendbarkeit des Codes

Abstrakte Klassen in PHP haben einen großen Vorteil: Sie ermöglichen die Wiederverwendung von Code. Durch das Definieren von gemeinsamem Verhalten in einer abstrakte Klasse , können Sie die Wiederholung von Code in vielen verschiedenen Unterklassen vermeiden. Dies vereinfacht die Verwaltung und Wartung Ihres Codes. Abstrakte Klassen helfen Ihnen auch dabei, Konsistenz und Standards über alle Ihre Unterklassen hinweg durchzusetzen.

2: Abstrakte Eigenschaften definieren

In PHP haben abstrakte Klassen ein nützliches Feature namens abstrakt Eigenschaften. Mit diesen Eigenschaften können Sie bestimmte Anforderungen für Unterklassen festlegen. Wenn Sie beispielsweise ein System für Tiere erstellen, können Sie eine abstrakte Eigenschaft namens festlegen $name das erfordert, dass jede Unterklasse eine Namenseigenschaft hat. Dies kann dazu beitragen, sicherzustellen, dass Ihr Code eine konsistente Struktur hat und einfacher zu verstehen und zu warten ist.

Abschluss

Die Möglichkeit, eine Reihe von Funktionen zu entwerfen, die von mehreren Klassen gemeinsam genutzt werden können, macht es möglich abstrakte Klassen nützlich für Entwickler. Dies führt zu mehr Wiederverwendung von Code und einfacherer Wartung, da alle Änderungen, die an einer abstrakten Klasse vorgenommen werden, sich automatisch auf alle Klassen auswirken, die von ihr erben. Bei richtiger Anwendung abstrakte Klassen kann die Struktur und Organisation von Code in einem objektorientierten Projekt erheblich verbessern. Es ist jedoch wichtig, sie mit Bedacht zu verwenden, da eine übermäßige Verwendung zu übermäßig komplexem und schwer zu wartendem Code führen kann.