Final anahtar kelimesi ile oluşturulan sınıfın miras alınmasını engelleme

Final anahar kelimesinin iki temel fonksiyonu vardır

Birincisi; Oluşturduğumuz sınıfın diğer sınıflar tarafından miras alınmasını engelleme

Bunun için bir örnek vericek olur isek 

final class Meyve{
  // sınıfa ait kodar
}

// Bu kod hata oluşturacaktır çünkü fruit sınıfı miras alınamaz
class Elma extends Meyve{
  // sınıfa ait kodar
}

 

İkincisi; Oluşturduğumuz sınıf miras alındığında belirli metotlarının tekrar yazılmasını(override) engellemek için kullanabiliriz

Metotlarda final  kullanımı içinde örnek 

class Meyve{
  final public function intro() {
    // Metoda ait kodar
  }
}

class Elma extends Meyve{
  // Hataya sebep olacaktır. Çünkü final ile bu metodun override edilmesini engelledik
  public function intro() {
     // Metoda ait kodar
  }
}