Şimdi Interface açtığımızda bulunması gerekli grdüğümüz fonksiyon listesini yaratıp Class'a implement ediyoruz buraya kadar sorun yok fakat bunu yapmak yerine neden abstract bir main class oluşturup hedef class'a extend etmiyoruz bu noktada interface oluşturmamızın bize faydası/zararı nedir? .

Bir kere uplayım belki fikir beyan eden çıkar :D.

: PHP'de interfaceler hakkında bir bilgim yok, lakin abstract class ile farkı şu, herhangi bir metodu override etmeyi atlamana karşı compile ederken seni uyarır. Yani bir interface'i implement ettiğin zaman, o interface'in tüm methodlarını override etmen gerekir. Heh işte benimde kafama takılan o methodları override edene kadar bitane abstract class yapıp onu extend etsek daha kolay değil mi. Yani her class için ayrı ayrı method yazacağımıza bi tane abstracta atayıp o abstractı diğerlerine extend etsek o methodlar onlardada otomatikman dahil olcak. .

PHP'de interfaceler hakkında bir bilgim yok, lakin abstract class ile farkı şu, herhangi bir metodu override etmeyi atlamana karşı compile ederken seni uyarır. Yani bir interface'i implement ettiğin zaman, o interface'in tüm methodlarını override etmen gerekir. Süngerler asla ktü bir gün geçirmez.

wm-t bunu yazdı: Interface çok kişi programlama yaparken kolaylık sağlar rnepin proje şefi sadece absrack clası yazar alttaki elemanlar fonksiyonların içini doldurur bu sayede belirli bir standarda gre program yazılmış olur He interface sadece proje kodlanış standardını korumakla yükümlü anladım hacı şimdi sağol :F.

: Ashitaka bunu yazdı: PHP'de interfaceler hakkında bir bilgim yok, lakin abstract class ile farkı şu, herhangi bir metodu override etmeyi atlamana karşı compile ederken seni uyarır. Yani bir interface'i implement ettiğin zaman, o interface'in tüm methodlarını override etmen gerekir. Heh işte benimde kafama takılan o methodları override edene kadar bitane abstract class yapıp onu extend etsek daha kolay değil mi. Yani her class için ayrı ayrı method yazacağımıza bi tane abstracta atayıp o abstractı diğerlerine extend etsek o methodlar onlardada otomatikman dahil olcak. Hocam, hepsi ortak kullanıyorsa abstract class tabiki mantıklı, ama method içerikleri aynı olmayan şeylerde interface compile edilirken hata vermesinden dolayı daha faydalı sanıyorum. Süngerler asla ktü bir gün geçirmez.

Interface çok kişi programlama yaparken kolaylık sağlar rnepin proje şefi sadece absrack clası yazar alttaki elemanlar fonksiyonların içini doldurur bu sayede belirli bir standarda gre program yazılmış olur

: Ashitaka bunu yazdı: PHP'de interfaceler hakkında bir bilgim yok, lakin abstract class ile farkı şu, herhangi bir metodu override etmeyi atlamana karşı compile ederken seni uyarır. Yani bir interface'i implement ettiğin zaman, o interface'in tüm methodlarını override etmen gerekir. Heh işte benimde kafama takılan o methodları override edene kadar bitane abstract class yapıp onu extend etsek daha kolay değil mi. Yani her class için ayrı ayrı method yazacağımıza bi tane abstracta atayıp o abstractı diğerlerine extend etsek o methodlar onlardada otomatikman dahil olcak. Hocam şyle düşün.. Bi tane interface'in var Hayvan isimli.. içinde de yürüme fonksiyonu var. Bu fonksiyon bu class tan türetilmiş, küz koyun keçi rdek gibi classlarda farklı şekilde implement edilecektir. Yani fonksiyon imzası aynı fakat içeriği farklı olabilir. Bize bu noktada güzellik sağlıyo bu sistem.. Mesela javada bütün class lar Object ten türetilir. Object'in toString diye bi metodu vardır, bu metod bütün classlarda bulunur. Ve farklı şekillerde implement edilir.. There are 10 types of people in the world. Those who knows binary and those who dont...

: sokoban bunu yazdı: Ashitaka bunu yazdı: PHP'de interfaceler hakkında bir bilgim yok, lakin abstract class ile farkı şu, herhangi bir metodu override etmeyi atlamana karşı compile ederken seni uyarır. Yani bir interface'i implement ettiğin zaman, o interface'in tüm methodlarını override etmen gerekir. Heh işte benimde kafama takılan o methodları override edene kadar bitane abstract class yapıp onu extend etsek daha kolay değil mi. Yani her class için ayrı ayrı method yazacağımıza bi tane abstracta atayıp o abstractı diğerlerine extend etsek o methodlar onlardada otomatikman dahil olcak. Hocam şyle düşün.. Bi tane interface'in var Hayvan isimli.. içinde de yürüme fonksiyonu var. Bu fonksiyon bu class tan türetilmiş, küz koyun keçi rdek gibi classlarda farklı şekilde implement edilecektir. Yani fonksiyon imzası aynı fakat içeriği farklı olabilir. Bize bu noktada güzellik sağlıyo bu sistem.. Mesela javada bütün class lar Object ten türetilir. Object'in toString diye bi metodu vardır, bu metod bütün classlarda bulunur. Ve farklı şekillerde implement edilir.. Bu rnek baya açıklayıcı oldu hacı şimdi tam anlamıyla çaktım kfteyi :D cevap veren herkese teşekkürler. .

bu ve benzeri seyler yuzunden javadan php ye gecince deliriyorum ben :| function overloading bile yok lan :| argumanlari sayiyorum