Nesne Arayüzleri
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
tleri gibi çalışır.
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;
}
}
?>