Reklam

Browsing Tag

encapsulation

OOP, PHP

Görünürlük (Encapsulation) – OOP

Merhaba Arkadaşlar,

Nesne yönelimli programlamanın sağladığı en önemli avantaj ise; gizleme yani erişim haklarıdır. Bir özelliğin veya metodun görünürlüğü, bildirim esnasında hemen önüne tanımlanır.

PHP ile kullanabileceğiniz 3 tür gizlilik türü vardır. Bunlar public, private ve protected. PHP4 ile uyumluluğun sağlanabilmesi için, eğer bir özellik veya yöntem için hiçbir görünürlük tanımı yapılmamışsa, public olarak tanımlanmış varsayılır.

public olarak belirlenmiş özellik ya da metotlara herkes, her yerden erişebilir.

private olarak belirlenmiş özellik ya da metotlara sadece sınıfın kendisi erişebilir.

protected olarak belirlenen özellik ya da metotlara ise; sınıf içinden ve bu sınıftan türetilen diğer sınıflardan erişilebilir. Aşağıda gizlilik erişim haklarını temsil eden kısmı dikkatlice okuyunuz.

public – Sınıfa Dışardan Erişim Var – Sınıf İçinden Erişim Var – Türemiş Sınıflardan Erişim Var
private – Sınıfa Dışardan Erişim Yok – Sınıf İçinden Erişim Var – Türemiş Sınıflardan Erişim Yok
protected – Sınıfa Dışardan Erişim Yok – Sınıf İçinden Erişim Var – Türemiş Sınıflardan Erişim Var

Aşağıdaki örneği incelediğinizde sınıfın dışından sadece public olarak belirtilen özellikler kullanılabilmektedir. Diğer kullanımların olduğu satırlar için PHP yorumlayıcısının hata mesajı oluşturulduğunu fark edebilirsiniz.

Yukardaki örneği çalıştırdığımızda ise sadece ekrana Orhan yazacak ve soyad değişkeni için erişim izniniz olmadığı için Fatal Error (Ölümcül Hata) oluşturulacaktır. Ölümcül hata oluştuğundan dolayı betğin çalışması durdurulacaktır.

Benzer şekilde görünürlük anahtar sözcükleri özelliklerde olduğu gibi metotlarda da kullanılarak, hangi seviyede kullanım izni olduğu belirlenebilir.