interface tanımlama
interface anahtar kelimesiyle sözleşme (contract) tanımlamayı öğrenirsin.
interface anahtar kelimesi
Bir interface (arayüz), sınıfların uygulayacağı yöntemlerin listesini bildiren bir sözleşmedir (contract). Sınıf gibi görünür ama durum (property) tutmaz; yalnızca public method imzalarını ve sabitleri listeler.
Method imzası, methodun adını ve parametrelerini belirtir ama gövdeyi { } içermez; noktalı virgülle biter. Interface'i uygulayan her sınıf bu methodları kendi gövdesiyle yazmak zorundadır.
Böylece farklı sınıflar aynı sözleşmeye uyar ve birbirinin yerine kullanılabilir. Bu, polymorphism'in temelidir.
interface sözdizimi
Interface tanımı interface kelimesiyle başlar, ardından isim gelir: interface Shape { ... }. Süslü parantezler içine method imzaları yazılır.
Her imza public function area(): float; biçimindedir; gövde yok, sonunda noktalı virgül var. public yazılmasa da methodlar otomatik olarak public kabul edilir.
Interface içinde const VERSION = '1.0'; biçiminde sabit de tanımlanabilir. Ancak $name gibi property tanımlanamaz; interface durum tutmaz.
Kendini test et
-
interface'in özelliği nedir?
- Method gövdeleriyle birlikte method tanımları içerir
- Method imzalarını gövdesiz biçimde listeler
- Property ve constructor tutar
- new ile doğrudan örneklenir
Cevabı göster
Method imzalarını gövdesiz biçimde listeler — Doğru. interface yalnızca method imzalarını gövdesiz biçimde listeler; gövde ve property içermez.
-
interface içine method imzası yaz
interface Shape { ____ }Cevabı göster
interface Shape { public function area(): float; } -
interface ile ilgili terimleri eşleştir
- interface
- Sözleşme
- method imzası
- Gövdesiz deklarasyon
- public function
- Varsayılan erişim
- noktalı virgül
- İmza sonu
-
interface içinde hangisi BULUNMAZ?
- method imzası
- sınıf sabiti (const)
- property ($name)
- public method
Cevabı göster
property ($name) — Doğru. interface property tutamaz; yalnızca method imzası ve sabit içerir.