PHP Dersleri #39 – OOP, Soyutlama (Abstraction)


Herkese merhaba arkadaşlar, kodportali.com PHP derslerine kaldığı yerden tüm hızıyla OOP, Soyutlama (Abstraction) ile devam ediyoruz.

 

PHP ‘de Soyutlama (Abstraction)

Soyut sınıflar, içlerinde en az bir soyut metod barındıran ve sınıf/nesnenin yerine getirmesi istenen temel işlevi metod düzeyinde belirlemek dışında ayrıntılara yer vermeyen yapılardır. Bir sınıfı soyutlamak için, çok biçimlilik ‘de kullandığımız ‘extends‘ anahtar kelimesini kullanacağız. Bir soyut sınıfın belli kuralları vardır, hatırlarsanız arayüzlerde bir fonksiyon yazıyorduk ve o fonksiyon ‘implements‘ ettiğimiz tüm sınıflarda olmak zorundaydı. Burdada aynı mantık var fakat yapı biraz daha farklı. Burada zorunlu olarak yani miras kalıcak yani override edilicek fonksiyonları yazmak için başına ‘abstract‘ yapısını getiriyoruz ve yine yapıcağı işlemleri yazmıyoruz. Fakat soyutlamada miras kalmasada olur dediğimiz fonksiyonlar da yazabiliyoruz. Ayrıca bir ‘abstract‘ sınıfı başka bir ‘abstract‘ sınıf ile soyutlayabilir veya bir ‘interface‘ ile kalıtabiliriz. Nesne görünürlüğü konusunda yine aynı konular geçerlidir, sadece ‘abstract‘ özelliğe sahip fonksiyonlar ‘private‘ anahtar kelimesini alamaz. Aksi takdirde hata verir. Hadi hemen örneğimize geçelim.


Tek Örnek ‘te Konuyu Kavrayalım

Ekran Çıktımız:

Yukarıdaki örneğimizde ‘Age‘ adında bir arayüz, ‘Gender‘ ve ‘Human‘ adındada iki soyut sınıf yarattık. Dikkat etmeniz noktalardan biri şudur, soyut sınıf yaratırken başına ‘abstract‘ kelimesini ekleyip normal sınıf oluşturur gibi devam etmektir. Fakat soyut sınıflar normal sınıflarda yaptığımız gibi yeniden oluşturulamazlar. Yani soyut sınıfı ‘new SoyutSınıfAdı()‘ şeklinde kullanamazsınız. Buradaki örneğimizde bir insan soyut sınıfı yani ‘Human‘ 0luşturduk ve ona ‘Gender‘ yani cinsiyet soyut sınıfını ve ‘Age‘ yani yaş arayüzünü ekledik. Unutmayın soyut sınıfı, soyutladığınız veya kalıttığınız sınıfların/yapıların özellikleri en son soyutlayacağınız sınıfta override edilmek zorundadır. Yani buradaki örneğimizde en son soyutladığımız sınıf ‘Child‘ sınıfı oluyor. Burada ‘Child‘ sınıfını ‘Human‘ sınıfı ile soyutladık. Fakat ‘Human‘ sınıfı da ‘Gender‘ sınıfı ile soyutlanıp ‘Age‘ arayüzü ile kalıtıldığı için aslında biz bunları ‘Child‘ sınıfıda bunların özelliklerini almış oldu. ‘write()‘ fonksiyonunda çağırdığımız fonksiyonlar ‘Child‘ sınıfında yazdığımız fonksiyonların döndürdüğü değere göre değer alır. İşte soyutlama bu kadar kolay.

 

Evet bu dersimizinde burada sonuna geldik. Herhangi bir sorunuz olursa yorumlarda sorabilirsiniz.

Sitemizdeki tüm PHP dersleri için buraya tıklayabilirsiniz.

[Toplam:0    Ortalama:0/5]

Sizin Tepkiniz Nedir?

süper süper
0
süper
bilgilendirici bilgilendirici
0
bilgilendirici
beğenmedim beğenmedim
0
beğenmedim
beğendim beğendim
0
beğendim
Düşündürücü Düşündürücü
0
Düşündürücü
Anıl Mısırlıoğlu
Yazılım Mühendisi

0 Yorum

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

Bir format seçin
Kişisel Test
Kişiliğe dair bir şey ortaya çıkarmayı amaçlayan sorular dizisi
Basit Test
Bilgiyi kontrol etmek isteyen doğru ve yanlış cevaplı sorular dizisi
Anket
Karar vermek veya görüş belirlemek için oylama yapmak
Serbest Yazı
Yazılarınıza Görseller Bağlantılar Ekleyebilirsiniz
Liste
Klasik İnternet Listeleri
Geri Sayım Listesi
Klasik İnternet Geri Sayım Listeleri
Açık Liste
Kendi öğenizi gönderin ve en iyi sunum için oy verin
Oylanabilir Liste
En iyi liste öğesine karar vermek için yukarı veya aşağı basın
Fotoyla Anlatım
Kendi resimlerinizi yükleyin ve birşeyler anlatın
Video
Youtube, Vimeo veya Vine Kodları
Ses
Soundcloud veya Mixcloud İçerikleri
Görsel
Fotoğraf veya GIF
GIF
GIF Formatı