Articles

Keyword final pada class PHP

Dalam teknik pemrograman dengan OOP pada class PHP kali ini kita akan membahas keyword final. Seperti frasenya kita dapat memahami final sebagai yang bersifat akhir. Begitu juga dalam class PHP, kita memahami final sebagai sesuatu yang tidak bisa diturunkan lagi.

Keyword final dapat kita terapkan dalam method maupun dalam class. Jika kita menerapkan keyword final pada class maka class tidak bisa diturunkan lagi. Jika kita menerapkan keyword final bukan pada class tetapi pada method maka class dapat diturunkan tetapi method tersebut tidak bisa di-override.

Dari http://php.net/manual/en/language.oop5.final.php kita memiliki contoh class seperti ini:
class BaseClass
{
   public function test()
   {
      echo "BaseClass::test() called\n";
   }

   final public function moreTesting()
   {
     echo "BaseClass::moreTesting() called\n";
   }
}

Jika kita membuat class lain dan meg-overide moreTesting maka akan terjadi error. Misal kita membuat coding seperti ini:
class ChildClass extends BaseClass
{
   public function moreTesting()
  {
      echo "ChildClass::moreTesting() called\n";
  }
}
Pada saat kita mendefinisikan method moreTesting pada turunan maka akan menyebabkan error
'Results in Fatal error: Cannot override final method BaseClass::moreTesting()'.

Masih dari http://php.net/manual/en/language.oop5.final.php, jika kita menurunkan suatu class yang final maka akan terjadi error seperto contoh di bawah ini:
final class BaseClass
{
}
class ChildClass extends BaseClass
{
}

Source code tersebut akan menyebabkan error
'Results in Fatal error: Class ChildClass may not inherit from final class (BaseClass)'.

Informasi lebih lanjut silahkan mengunjungi http://php.net/manual/en/language.oop5.final.php.

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Other PHP OOP Articles:
Instalasi Yii 2 dengan Composer
Mencoba PHP Composer
Mengenal PHP Composer
Instal Composer pada Windows
Sejarah framework PHP
Keyword final pada class PHP
Magic method pada class PHP
Iterasi pada class PHP
Overloading pada class PHP
Anonim pada class PHP
Trait pada class PHP