PHP | Nesne Arayüzleri

1Jeff

Developer & Coder
Ultra Üye
20 Eki 2019
811
380
63
Helsinki
Nesne Arayüzleri
Bu bağlantıyı görüntüleme izniniz yok Giriş yap veya üye ol.

Nesne arayüzleri, bir sınıfın gerçeklemesi gereken yöntemlerin belirtildiği kodu, bu yöntemlerin nasıl gerçekleneceğini tanımlamaksızın oluşturmanıza imkan sağlar.
Arayüzler, sınıflardan farklı olarak class yerine interface anahtar sözcüğü kullanılarak ve içeriğinde hiçbir tanımlı yöntem olmaksızın tanımlanırlar.
Bir arayüzdeki tüm yöntemler, arayüzün doğası gereği public olarak bildirilmelidir.

Arayüzlerin sabitlerinin olması mümkündür. Arayüz sabitleri, kendilerini miras alan sınıflar veya arayüzler tarafından geçersiz kılınamamaları dışında tıpkı sınıf sabi
PHP:
<?php
// 'iTemplate' arayüzünü tanımlayalım
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}

// Arayüzü gerçekleyelim
// Bu çalışacaktır
class Template implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }

    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}

// Bu çalışmayacaktır
// Ölümcül hata: BadTemplate sınıfı 1 soyut yöntem içermektedir
// dolayısıyla soyut olarak tanımlanması gerekir (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}

?>
tleri gibi çalışır.
 
Üst Alt