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
}
}