CodeBlanks Logo Icon CodeBlanks

interface tanımlama

PHP kursu · Orta seviye · Ders 47/115

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

  1. 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.

  2. interface içine method imzası yaz

    interface Shape {
        ____
    }
    Cevabı göster
    interface Shape {
        public function area(): float;
    }
  3. 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
  4. 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.

Orta seviye bölümündeki tüm dersler