Php de Nesne Yönelimli Programlama - Final deyimi

Php de final deyimi nesne yönelimli programlamanın önemli özelliklerinden biridir. Proje geliştirirken bazı sınıf veya metotların tekrar kullanılmasının önüne geçmek isteyebiliriz. Bu durumda o sınıfın veya metodun önüne final deyimini ekleriz. Php de final deyimi sadece sınıflara ve sınıfların metotlarına uygulanabilir. Sınıf değişkenleri final olarak tanımlanamaz.

ÖNEMLİ: Php de sınıf değişkenleri final olarak tanımlanamaz.

Sınıfı final tanımlama

Bir sınıfı final olarak tanımlarsak, o sınıf başka bir sınıf tarafından türetilemez (extend edilemez).

Örnek:

<?php
final class A {
    
}

class B extends A {
    
}

// Fatal error: Class B may not inherit from final class (A)

Yukarıdaki kod bloğunda sadece iki tane sınıf tanımladık. A sınıfını final olarak tanımlıyoruz ve B sınıfınıda A sınıfından türetmek istiyoruz. Fakat burada sistem bize şu şekilde ölümcül bir hata verecektir. Fatal error: Class B may not inherit from final class (A). Yani; B sınıfı, final olarak tanımlanan A sınıfından miras alamaz.

Sınıfın metodunu final tanımlama

Sınıfın bir metodu final olarak tanımlanırsa, bu metot alt sınıflar tarafından geçersiz kılınamazlar (override edilemezler).

Örnek:

<?php
class A {
    final public function test(){

    }
}
class B extends A {
    public function test(){

    }
}

// Fatal error: Cannot override final method A::test()

Örnekte A ve B sınıflarını tanımladık. B sınıfı A sınıfından türetilmiştir. A sınıfı içinde ki test() metodu final olarak tanımlandığı için, alt sınıfta (B) biz bu metodu tekrar tanımlamak istersek sistem bize şu ölümcül hatayı verecektir. Fatal error: Cannot override final method A::test(). Yani; A sınıfı içinde final olarak tanımlanan test() metodu override edilemez.

ETİKETLER
php de final deyiminesne yönelimli programlama final deyimioop finalphp finalphp de sınıfların türetilmesini engellemephp final kullanımı
Öncekİ Yazı

Php de Nesne Yönelimli Programlama - Kalıtım ile sınıfları genişletme

Sonrakİ Yazı

#1 Python'da Değişkenler

İlgili Yazılar