PHP arayüzleri özellikleri var mı?

4 Cevap php

PHP arayüzleri özellikleri var mı, ya da sadece yöntemleri var mı?

4 Cevap

Bu "özellikleri" ile ne demek bağlıdır. Eğer gerçek alanları demek, o hayır, onlar değil. Bu tür C # gibi özelliklere atıfta ediyorsanız, o zaman evet onlar (mülkiyet erişiciler zaten erişimci yöntemleri için kesinlikle sözdizimsel şeker beri) olabilir. Tabii ki, her bir durumda, herhangi bir uygulama için get / set ya da add / {için belirtilen da aynı [(3)] (etkinlikleri için de geçerlidir } erişimciler).

Update: PHP get / set Erişgeçler anlamda özelliklere sahip olmadığından, daha sonra sorunun cevabı hayır. Arayüzleri kendi veri / devlet taşıyamaz.

PHP arayüzleri sabitleri yok, ama özellikleri (örnek değişkenleri) olabilir. Eğer "mülkiyet" değiştirmek gerekmez, bunun yerine sabit kullanabilirsiniz.

PHP arayüzleri sadece bir yöntem gövdesi olmadan ortak yöntem signatures içerebilir. Ayrıca sabitleri içerebilir. Ama o kadar. Başka bir şey.

Bkz http://www.php.net/manual/en/language.oop5.interfaces.php

Arayüzler fakat içerikleri tanımlanmış olan yöntemlerin herhangi biri olmaksızın standart sınıf olarak aynı şekilde, anahtar arayüzü kullanılarak tanımlanır. [...] Bir arabirimde bildirilen tüm yöntemler, arayüzün doğası, kamu olmalıdır. [...] Onun olası arayüzleri sabitleri olması için. Onlar devralan bir sınıf / arabirimi tarafından kılınamaz dışında Arayüz sabitleri tıpkı sınıf sabitleri gibi çalışır.

PHP, arabirimler sadece soyut kamu yöntemleri olabilir. Hiçbir yapıcı, hiçbir somut yöntem, hiçbir özellikleri (örnek / statik değişkenler için PHP'nin terim).