Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP คำสำคัญสุดท้าย


แนะนำตัว

ใช้ ขั้นสุดท้าย คำหลักในคำจำกัดความของวิธีการอินสแตนซ์ในคลาส PHP ป้องกันไม่ให้ถูกแทนที่โดยคลาสย่อย ในทำนองเดียวกัน หากใช้ final ในคำจำกัดความของ class เอง คลาสดังกล่าวจะไม่สามารถขยายได้

ไวยากรณ์

final class myclass {}
class myclass{
   final method mymethod(){}
}

ตัวอย่างวิธีสุดท้าย

ในตัวอย่างต่อไปนี้ การพยายามแทนที่เมธอดสุดท้ายทำให้เกิดข้อผิดพลาด

ตัวอย่าง

<?php
class parentclass{
   final function test(){
      echo "final method in parent class";
   }
}
class childclass extends parentclass{
   function test(){
      echo "overriding final method in parent class";
   }
}
$obj=new childclass();
$obj->test();
?>

ผลลัพธ์

ผลลัพธ์แสดงข้อความแสดงข้อผิดพลาดต่อไปนี้

PHP Fatal error: Cannot override final method parentclass::test() in line 16

ตัวอย่างคลาสสุดท้าย

ในทำนองเดียวกันคลาสสุดท้ายไม่สามารถสืบทอดได้ดังตัวอย่างต่อไปนี้

ตัวอย่าง

<?php
final class parentclass{
   final function test(){
      echo "final method in parent class";
   }
}
class childclass extends parentclass{
   function test(){
      echo "overriding final method in parent class";
   }
}
$obj=new childclass();
$obj->test();
?>

ผลลัพธ์

ผลลัพธ์แสดงข้อความแสดงข้อผิดพลาดต่อไปนี้

PHP Fatal error: Class childclass may not inherit from final class (parentclass) in line 16