PHP'de soyutlama (abstraction) ve arayüz (interface) kavramları, nesne yönelimli programlamada önemli rol oynar. Soyutlama, bir sınıfın özelliklerini ve davranışlarını soyut bir şekilde tanımlama yeteneğini ifade eder. Arayüz ise bir sınıfın hangi metotları implement etmesi gerektiğini belirleyen bir yapıdır.
Soyut Sınıflar ve Soyut Metotlar:
Soyut sınıflar, abstract
anahtar kelimesi ile tanımlanır ve soyut metotlar içerebilirler. Soyut metotlar sadece imza (signature) içerir, yani gövdesizdir. Soyut sınıflar, başka sınıflar tarafından genişletilerek kullanılırlar.
<?php
// Soyut sınıf
abstract class SoyutSinif {
// Soyut metot
abstract public function soyutMetot();
}
// Soyut sınıfı genişleten bir alt sınıf
class AltSinif extends SoyutSinif {
// Soyut metodu implement etme
public function soyutMetot() {
echo "Soyut metot implement edildi.
";
}
}
// Alt sınıfı kullanarak bir örnek oluşturma
$ornek = new AltSinif();
// Soyut metodu çağırma
$ornek->soyutMetot();
?>
Arayüz (Interface):
Arayüz, interface
anahtar kelimesi ile tanımlanır ve bir sınıfın hangi metotları implement etmesi gerektiğini belirtir. Bir sınıf birden fazla arayüzü implement edebilir.
<?php
// Arayüz tanımı
interface Arayuz {
// Arayüzdeki metotlar sadece imza içerir
public function metot1();
public function metot2();
}
// Arayüzü implement eden bir sınıf
class ArayuzSinifi implements Arayuz {
// Arayüzdeki metotları implement etme
public function metot1() {
echo "Metot 1 çağrıldı.
";
}
public function metot2() {
echo "Metot 2 çağrıldı.
";
}
}
// Sınıfı kullanarak bir örnek oluşturma
$ornek = new ArayuzSinifi();
// Arayüzdeki metotları çağırma
$ornek->metot1();
$ornek->metot2();
?>
Bu örnekte, Arayuz
adında bir arayüz tanımlanmış ve bu arayüzü implement eden ArayuzSinifi
adında bir sınıf oluşturulmuştur. Sınıf, arayüzde tanımlanan metot1
ve metot2
'yi implement etmek zorundadır.