1. Die Definition des Final-Schlüsselworts in PHP verstehen
3 Endgültiges Schlüsselwort in PHP Verwendungsszenarien von Schlüsselwörtern
Beherrschen Sie die spezifische Implementierung des Endgültigen Schlüsselworts in PHP
Wir werden weiterhin der vorherigen konsistenten Denkweise folgen und durch die 3W1H-Methode lernen, also lassen Sie uns zunächst Verstehen Sie es
(1) Verstehen Sie die Definition des Final-Schlüsselworts in PHP (Was)
(2) Verstehen Sie die Rolle des Final-Schlüsselworts in PHP (Warum)
1 Klassen werden vererbt
2. Verhindern Sie, dass Klassenmethoden überschrieben werden
(3) Verstehen Sie die Verwendungsszenarien des Final-Schlüsselworts in PHP (Wo)
(4) Beherrschen Sie die spezifische Implementierung des Schlüsselworts Final in PHP (Wie)
1. Das Definitionsformat der finalen Klasse ist: final class class name {}
2. Achten Sie besonders darauf, dass nur PHP5 über das Konzept des finalen Schlüsselworts verfügt nicht vor PHP5 vorhanden
3. Das Definitionsformat der endgültigen Methode ist: endgültiger öffentlicher (oder geschützter) Funktionsmethodenname (Parameter...){}
4 Als endgültige Klasse definiert, kann sie nicht vererbt werden, d basieren auf der Praxis. Als nächstes müssen wir es noch einzeln beweisen, damit wir es mit Zuversicht verwenden können
(5), spezifischer Code
1 1:1 Das Definitionsformat der endgültigen Klasse ist: endgültiger Klassenname {}<?php
//定义“人”类
final class Human{
public function eat(){
echo "Human 中的eat方法被执行了<br/>";
}
}
$human = new Human();
$human->eat();
?>
Die Eat-Methode in Human wird ausgeführt
2. Fall 2:Praktisches Ziel:
1 Die endgültige Methode ist: letzte öffentliche (oder geschützte) Funktion Methodenname (Parameter...){}<?php
class Human{
final public function eat(){
echo "Human 中的 类型为final的eat方法被执行了<br/>";
}
}
$human = new Human();
$human->eat();
?>
Die endgültige Eat-Methode in Human wird ausgeführt
3. Fall 3:Praktische Ziele:
1 Sobald eine Klasse als letzte Klasse definiert ist, kann sie nicht vererbt werden, d. h. es kann keine Unterklassen haben <?php
//定义“人”类
final class Human{
public function eat(){
echo "Human 中的 类型为final的eat方法被执行了<br/>";
}
}
//定义Nba球员类
class NbaPlayer extends Human{
public function eat(){
}
}
?>
Schwerwiegender Fehler: Die Klasse NbaPlayer erbt möglicherweise nicht von der letzten Klasse (Human) in D:E-classclass-codeclassingindex.php in Zeile 14
4. Fall 4: Praktische Ziele:1. Sobald eine Methode als endgültige Methode definiert ist, kann sie nicht überschrieben werden durch eine Unterklasse
<?php //定义“人”类 class Human{ final public function eat(){ echo "Human 中的 类型为final的eat方法被执行了<br/>"; } } //定义Nba球员类 class NbaPlayer extends Human{ public function eat(){ echo "NbaPlayer中的eat方法,重写了父类的eat方法<br/>"; } } ?>
Schwerwiegender Fehler: Die endgültige Methode Human::eat() in D:E-classclass-codeclassingindex.php in Zeile 14 kann nicht überschrieben werden
(6) Wenden Sie das Gelernte an
Bisher sollten wir ein klares Verständnis für das Finale haben. Als nächstes können wir das Gelernte anwenden und das gelernte Wissen nutzen, um die folgenden Probleme zu lösen
Problem: Basierend auf jahrelanger Erfahrung können viele Datenoperationsmethoden nicht nur in einem Projekt, sondern auch in vielen Projekten wiederverwendet werden, und viele Stellen in einem Projekt können wiederverwendet werden. Deshalb planen wir, diese allgemeinen Methoden in einer Klasse zu kapseln, aber diese Klasse benötigt keine Unterklassen und ich möchte nicht, dass die darin enthaltenen Methoden überschrieben werden.
Ideenanalyse:1. Erstellen Sie eine Klasse, die gängige Datenmanipulationsmethoden enthält
2. Weil Sie das nicht wollen Klasse soll Vererbung sein, daher können wir in Kombination mit der Rolle von final die Klasse als finale Klasse definieren
3. Sobald eine Klasse als finale Klasse definiert ist, werden die darin enthaltenen Methoden natürlich nicht überschrieben, weil Es gibt keine Unterklassen. Wie können wir es in eine Unterklasse umschreiben?<?php final class MyDataOpClass{ public function abs(){ //求绝对值 } //产生随机数 public function rand(){ echo "产生随机数方法"; } //获取数组中的最大值 public function getMax($numArr){ } //获取数组中的最小值 public function getMin($numArr){ } //其他方法就此省略 } $mymath = new MyDataOpClass(); $mymath->rand(); ?>
Die laufenden Ergebnisse sind wie folgt:
Methode zum Generieren von ZufallszahlenErklärung: Dieses Beispiel ist etwas einfach, aber ich hoffe, dass jeder auf seine Ideenanalyse achtet und so genau und klar wie möglich ist
Zusammenfassung:1. Der Hauptinhalt dieses Artikels erläutert die Definition und Funktion von final sowie die spezifische Implementierung
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des Schlüsselworts Final im objektorientierten PHP (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!