Heim > Backend-Entwicklung > PHP-Problem > So verwenden Sie die PHP-Final-Methode

So verwenden Sie die PHP-Final-Methode

藏色散人
Freigeben: 2023-03-05 20:52:01
Original
3454 Leute haben es durchsucht

Wenn wir in PHP nicht möchten, dass eine Methode in einer Klasse von einer Unterklasse überschrieben wird, können wir diese Methode als letzte Methode festlegen. Wir müssen nur den endgültigen Modifikator vor dieser Methode hinzufügen „öffentliche Endfunktion max( $a,$b){}“.

So verwenden Sie die PHP-Final-Methode

Empfehlung: „PHP-Video-Tutorial

PHP-objektorientierte Abschlussklasse und Abschlussmethode

final---wird vor Klassen und Methoden verwendet.

Abschlussklasse --- kann nicht vererbt werden.

finale Methode --- kann nicht überschrieben werden.

Wenn wir nicht möchten, dass eine Klasse vererbt wird, verwenden wir final, um die Klasse zu ändern. Diese Klasse wird nicht vererbt.

Die von uns festgelegte Mathematikklasse umfasst beispielsweise die mathematischen Berechnungsmethoden, die wir ausführen möchten. Diese Algorithmen müssen nicht geändert oder vererbt werden.

<? 
//声明一个final类Math 
final class Math
{ 
    public static $pi = 3.14; 
    public function __toString()
    { 
        return "这是Math类。"; 
    } 
} 
$math = new Math(); 
echo $math; 
//声明类SuperMath 继承自 Math类 
class SuperMath extends Math 
{ 
} 
//执行会出错,final类不能被继承。 
?>
Nach dem Login kopieren

Programmausführungsergebnisse

Fatal error: Class SuperMath may not inherit from final class (Math) in E:\PHPProjects\test.php on line 16
Nach dem Login kopieren
Nach dem Login kopieren

Wenn wir nicht möchten, dass eine Methode in der Klasse von Unterklassen überschrieben wird, können wir diese Methode als letzte Methode festlegen und einfach den letzten Modifikator vor dieser Methode hinzufügen.

Wenn diese Methode von einer Unterklasse überschrieben wird, tritt ein Fehler auf.

<? 
//声明一个final类Math 
class Math
{ 
    public static $pi = 3.14; 
    public function __toString()
    { 
        return "这是Math类。"; 
    } 
  public final function max($a,$b)
  { 
      return $a > $b ? $a : $b ; 
  } 
} 
//声明类SuperMath 继承自 Math类 
class SuperMath extends Math
{ 
    public final function max($a,$b){} 
} 
//执行会出错,final方法不能被重写。 
?>
Nach dem Login kopieren

Programmlaufergebnisse

Fatal error: Class SuperMath may not inherit from final class (Math) in E:\PHPProjects\test.php on line 16
Nach dem Login kopieren
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die PHP-Final-Methode. 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