Heim > Artikel > Backend-Entwicklung > PHP-Klassen, Schnittstellen, Überladung verwandter Wissensbeispielcode-Zusammenfassung
In diesem Artikel werden hauptsächlich die Wissenspunkte im Zusammenhang mit PHP-Klassen vorgestellt und die mit PHP-Klassen verbundenen Abschlussklassen, Abschlussmethoden und Abstraktklassen, abstrakte Methoden, Schnittstellen, Überladung, magische Methoden und andere verwandte Konzepte und Betriebstechniken. Freunde in Not können sich auf
beziehen. Dieser Artikel fasst die relevanten Wissenspunkte von PHP-Klassen anhand von Beispielen zusammen. Geben Sie es wie folgt als Referenz an alle weiter:Endgültige Klasse und endgültige Methode
Wenn eine Methode in der übergeordneten Klasse als endgültig deklariert wird, kann die Unterklasse sie nicht überschreiben Verfahren. Wenn eine Klasse als final deklariert ist, kann sie nicht vererbt werden.final class a{} class a{ final public function A(){} }
Abstrakte Klassen und abstrakte Methoden
abstract class a { public abstract function func(); } class A extends a{ public function func(){} }
① Eine Klasse kann mit abstrakten Klassen als abstrakte Klasse deklariert werden Klasse, wird nur als übergeordnete Klasse für andere Klassen verwendet.
abstract class name{}
② Eine Methode kann mit abstrakten Methoden als abstrakte Methode deklariert werden; abstrakte Methoden müssen nur den Methodenheader deklarieren und benötigen nicht den Methodenkörper in den geschweiften Klammern.
abstract public function name($val);
③ Wenn eine Klasse eine abstrakte Methode enthält, muss die Klasse als abstrakte Klasse deklariert werden.
④ Wenn eine Unterklasse von einer abstrakten Klasse erbt, kann die Unterklasse nicht alle abstrakten Methoden in der übergeordneten Klasse implementieren, es sei denn, die Unterklasse bleibt auch weiterhin eine abstrakte Klasse.
⑤ Wenn eine Unterklasse eine Methode einer abstrakten übergeordneten Klasse implementiert, kann der Umfang des Zugriffskontrollzeichens nicht reduziert werden, und die Parameter der Methode müssen ebenfalls reduziert werden konsistent sein (umgeschrieben).
Schnittstelle
Schnittstelle kann als Abstraktion einer abstrakten Klasse auf höherer Ebene betrachtet werden, man kann sie als Sonderfall einer abstrakten Klasse bezeichnen
interface a{ function func(); } class A implements a { function func(){} }Klasse: Attribute, Klassenkonstanten, MethodenAbstrakte Klasse: Attribute, Klassenkonstanten, abstrakte MethodenSchnittstelle: Schnittstellenkonstanten, abstrakte Methoden
① Im Vergleich zu abstrakten Klassen können Schnittstellen eine „Mehrfachvererbung“ implementieren
class A implements a,b,c{}
② Eine Schnittstelle kann nur eine Schnittstelle erben
interface a extends b{}
③ Bei den Methoden handelt es sich ausschließlich um abstrakte Methoden ohne abstrakte Modifikation, d Technologie
1. Attributüberladung: Wenn Sie ein nicht vorhandenes Attribut verwenden, wird eine vordefinierte Methode in der Klasse aufgerufen, um die Daten zu verarbeiten; Führen Sie für Anwendungsszenarien, in denen das Attribut nicht verwendet wird, die folgende Verarbeitung durch
① Wert: Get() automatisch in der Klasse aufrufen② Zuweisung: set() automatisch in der Klasse aufrufen③ Stellen Sie fest, ob es existiert: Rufen Sie die Klasse isset() automatisch in isset() auf④ Zerstörung: Rufen Sie unset() automatisch in der Klasse auf
vorausgesetzt, dass diese Methoden vorab vorhanden sind -definiert, andernfalls wird ein Fehler gemeldet
Die laufenden Ergebnisse sind wie folgt:
2. Methodenüberladung
: Wenn eine nicht vorhandene Methode verwendet wird, wird eine vordefinierte Methode in der Klasse aufgerufen, um dieses Verhalten zu behandeln.<?php class bee{ public $ol = array(); public function get($key){ if(isset($this->ol[$key])){ return $this->ol[$key]; } return $key.' not exists'; } public function set($key,$val){ $this->ol[$key] = $val; } public function isset($key){ if(isset($this->ol[$key])){ return true; } return false; } public function unset($key){ unset($this->ol[$key]); } } $obj = new bee(); echo $obj->one; echo '<br>'; $obj->one = 1; echo $obj->one; echo '<br>'; var_dump(isset($obj->one));Führen Sie für Anwendungsszenarien, in denen die Methode nicht verwendet wird, die folgende Verarbeitung aus 🎜>
one not exists 1 boolean true
① Rufen Sie unzugängliche Methoden im Objekt auf: call()② Rufen Sie unzugängliche Methoden im statischen Modus auf: callStatic()
Die laufenden Ergebnisse sind wie folgt folgt:Hinweis: Die oben genannten Methoden sind alle magische Methoden. Alle haben Parameter
Das obige ist der detaillierte Inhalt vonPHP-Klassen, Schnittstellen, Überladung verwandter Wissensbeispielcode-Zusammenfassung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!