PHP : Nesne Arayüzleri

PHP de bir sınıfı diğer sınıflar için arayüz görevi görecek şekilde kullanmak mümkündür. Yani bir arayüz, tüm eleman fonksiyonların prototipini belirler ve diğer sınıflar bu prototiplere bağlı kalarak fonksiyonları kullanırlar.

En kısa ifadeyle, nesne arayüzleri bir ana sınıf görevi görmektedir.

Nesne arayüzü kullanma mantığı soyutlama yaparak çok biçimlilik yapmaya benzerdir. Nesne arayüzleri, çok biçimlilikten farklı olarak daha sade bir yapı sunarlar. Sadece fonksiyon prototiplerini ve sabitleri içerirler.

Yani, nesne arayüzleri eleman sahaları içermezler. Fakat sabitleri (const) kullanabilirsiniz. Nesne arayüzündeki sabitler, diğer sınıflarda kullanılabilirler fakat değiştirilemezler.

PHP : Kalıtım ve Çok Biçimlilik

Nesneye yönelik programlamanın, prosedürel programlamadan farklı olarak bazı olanakları veya gereklilikleri vardır. Bunlardan ilkini, yani sarmalamaburadaki yazımda not etmiştim.

Bu yazıda ise nesne türetme, kalıtım, çok biçimlilik ve soyutlama ilkelerinden bahsetmeye çalışacağım.

  • Kalıtım (Miras) ve Nesne türetme
  • Çok biçimlilik ve Soyutlama

PHP : Sınıf, Nesne Kavramları ve Sarmalama

Nesneye yönelik programlamada bir sınıf modeli ve bu sınıfı örnek alan nesneler mevcuttur. Yani sınıflar nesneler için birer şablon niteliğindedir.

Sınıflar, eleman sahalardan ve eleman fonksiyonlardan oluşurlar. Daha basit bir deyişle, değişkenlerden ve fonksiyonlardan oluşan bir pakettir. Eleman sahalara ve eleman fonksiyonlara genel olarak sınıfın elemanları diyebiliriz.

Basit bir sınıf örneğini şu şekilde gösterebiliriz;

PHP : Nesneye Yönelik Programlama

Nesneye yönelik programlama, modern bir programlama paradigmasıdır. Klasik, bir başka deyişle prosedürel programlamadan farklı olarak bir takım yeni programlama yapıları / olanakları içerir. Bu farklılık ve yenilikler, prosedürel programlamanın yazılım sorunlarına artık çözüm üretememesinden veya çözüm üretse bile maliyetli, güvensiz, vs. olmasından kaynaklanmaktadır.

Hemen hemen tüm diller nesneye yönelik programlama yapmaya imkan verir. PHP, nesne yönelik programlamaya imkan veren dillerden bir tanesidir. Bununla beraber salt nesneye yönelik programlama yapmak için kullanılan, Java gibi programlama dilleri de mevcuttur.

Benim nesneye yönelik programlamaya giriş yaptığım dil C++ idi. Yani bir başka deyişle, masaüstü programlama idi. Fakat artık her türlü yazılımda, ister web tabanlı olsun, ister mobil olsun nesneye yönelik programlama kullanılmaktadır. Bu sebeple PHP ile web tabanlı yazılımlar geliştirirken de nesneye yönelik programlamayı kullanmak avantaj sağlamaktadır. Hatta bu bir avantajdan ziyade,  artık zorunluluk olma yolunda ilerlemektedir.

Arama
RSS
Beni yukari isinla