الفئات يمكن توريثها ( PHP Inheritance ) باستخدام الكلمة extends لكن إذا أردت منع التوريث فالفئات النهائية لا يمكن توريثها ويتم تعريها باستخدام الكلمة Final .
كيفية تعريف الفئات النهائية <?php final class A{ //Properties //Methods } ?>لكن إذا حاولت توريث الفئة النهائية سيظهر خطأ. فالمثال التالي غير صحيح
<?php final class A{ public $name ="user1"; } class B extends A{ echo $this->name; } $A = new A(); echo $this->name; ?>لايمكن توريث الفئة A إلى الفئة B كما حدث في السطر رقم 5 ، مادام تم استخدام الكلمة final قبل تعريف الفئة. وبما أن هذه الفئات لا يمكن توريثها فإن استخدام private مساو لاستخدام protected . اقرأ ( PHP Visibility ).
وبعد أن عرفت كيفية منع الفئة من التوريث، هل يمكن منع الفئة من إنشاء كائنات جديدة ؟
نعم يمكن ذلك عن طريق الفئات المجردة ( PHP Abstract Classes ).


