Web Geliştirici  :: PHP, Kohana, JavaScript, Ajax, XHTML, XML, CSS, MySQL ve diğer web yazılım geliştirme teknolojileri hakkında faydalı bilgi ve teknikler
 

PHP’de Nesne Yönelimli Programlama-10

İsim Alanı (Namespace)

Özellikle büyük projelerde çok sayıda sınıf ve kütüphanenin birlikte kullanılması sonucu isim çakışmalarının olma ihtimali ortaya çıkar. Bunun önüne geçmek için genellikle framework yapılarında çok uzun sınıf isimleri verilir.

PHP 5.3 ile beraber bu tür durumlar göz önünde bulundurularak isim alanı (namespace) olanağı geldi. İsim alanı sayesinde aynı isimde sınıflar kullanabiliriz. Bir isim alanı içindeki sınıfı çağırırken bilgisayardaki dosya sistemindeki mantığa benzer şekilde “alan\sinif” biçiminde kullanılır. Görüldüğü gibi ayırıcı karakter olarak “\” karakteri kullanılmaktadır.

(daha fazla…)


PHP’de Nesne Yönelimli Programlama-9

Arayüz (Interface)

Arayüz, bir sınıfta bulunması gereken yöntemlerin tanımlandığı bir yapıdır. Arayüzde sadece hangi yöntemlerin bulunacağı belirtilir ancak yöntemlerin nasıl gerçekleştirileceği belirtilmez. Yani yöntemlerin sadece tanımı yapılır, gövdeleri yazılmaz. Yöntemlerin gövdeleri arayüzü kullanan sınıflar içinden yapılır. Böylece bir arayüzü kullanan her sınıf, arayüzdeki yöntemlerin farklı şekilde iş yapmasını sağlayabilir.

Arayüzdeki tüm yöntemlerin public olarak tanımlanması gerekmektedir. Arayüzde tanımlanmış olan tüm yöntemlerin, o arayüzü kullanan sınıfın içinde gövdelerinin tanımlanması zorunludur. Aksi halde ölümcül hata (fatal error) verilecektir.

Bir sınıfın bir arayüzü kullanabilmesi için “implements” deyiminden faydalanılır. Aralarına virgül konarak bir sınıfın aynı anda birden fazla arayüzü kullanmasını sağlayabiliriz.

(daha fazla…)


PHP’de Nesne Yönelimli Programlama-8

Soyut Sınıf (Abstract Class)

Soyut sınıf, her koşulda geçerli olabilecek genel özellik ve yöntemleri tanımladığımız bir sınıf şablonudur. Soyut sınıf kullanılarak sadece sınıf kalıtılabilir, nesne türetilmez. Bir soyut sınıftan nesne türetilmeye çalışılırsa hata oluşucaktır.

Soyut sınıflar içinde soyut yöntemler tanımlanabilir. Bu durumda soyut yöntemin sadece tanım satırı yazılır, gövde bloğu yazılmaz. Soyut yöntemin detayları türetilen sınıfta yazılır. Soyut yöntemlerin türetilen sınıfta gövdelerinin tanımlanması zorunludur. Yazılmazsa hata oluşacaktır.

(daha fazla…)