Nesneye Yönelik Programlamaya Giriş

Nesneye yönelik PHP

OOP (Nesneye yönelik programlama), benzer işlevleri olan fonksiyonların sınıflar yardımı ile bir araya toplanmasını sağlayan bir kod yazım tekniğidir. Bu yapı bize yazılımın en çok kabul gören prensiblerinden birisi olan DRY‘ın (don’t repeat yourself) etkili bir biçimde kullanılmasına olanak sağlar.

Kendini tekrar etmeyen kod yazmanın en büyük avantajlarından birisi hatalı olan kodun kolay ve hızlı bir biçimde, tespit edilmesi ve düzeltilmesine olanak sağlamasıdır. Sürekli kendini tekrar eden spagetti kodun içinde hatanın bulunması, aynı işlemin yapıldığı diğer bölümlerin tespit edilmesi adeta yazılımcı ve kod arasında bir saklambaç oyununa dönüşebilir.

OOP bir çok yazılımcı tarafından en başlarda namespace, bunun gibi tanımlamalar yüzünden karmaşık gelse de aslında klasik kod yazmaya göre çok daha esnek ve basittir.

OOP’den bahsedeceğimiz bazı konseptler :

Class : En basit hali ile benzer fonksiyonların bir araya getirildiği, yazılımcı tarafından tanımlanan veri tipidir.

Object : Class tarafından tanımlanan veri yapısı.

Member Variable : Class içinde tanımlanan değişkenler.

Member Function : Class içinde tanımlanan fonksiyonlar.

Inheritance : Başka bir classın fonksiyonlarının ve değişkenlerinin tekrar yazılmaksızın devir – miras alınmasıdır.

Parent Class : Miras alınan class

Child Class : Miras alan class

Polymorphism : Aynı işlevi olan fonksiyonları farklı amaçlar için kullanılmasını sağlayan OOP konsepti.

Overloading : Farklı parametrelere sahip aynı fonksiyonlar. Bir çeşit polymorphism.

Constructor : Class türetildiğinde otomatik olarak çalışan yapıcı fonksiyonlar.

Deconstructor : Class kullanımı sona erdiğinde otomatik olarak çalışan yıkıcı fonksiyonlar.

 

Sonraki yazı : İlk PHP Class’ımız

birdörtikisekizüç Toplam ikisekiz Bugün

Yayınlayan

Melih Uçar

Lazy blogger, hardworking developer, IoT enthusiast

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">