PHP'de OOP'de Arayüz Metotlarında Parametreler
Arayüzlerde metotları tanımlarken sadece metot isimlerini değil, onların aldığı parametreleri de belirtmek gerekir.
Bir örnek üzerinden inceleyelim. Elimizde matematiksel işlemler
(toplam, çıkarma, çarpma, bölme) için bir sınıfı tanımlayan
iMath arayüzü olsun. Bu arayüzün şu şekilde göründüğünü varsayalım:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Şu anda arayüzümüzün metotları herhangi bir parametre almıyor. Aslında, bu arayüzü uygulayacak sınıfın metotları da parametre almamalı, aksi takdirde hata oluşacaktır.
Şimdi arayüzümüzdeki metotların parametrelerini belirtelim:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Şimdi arayüzümüzün uygulamasını yazalım:
<?php
class Math implements iMath
{
public function sum($a, $b)
{
return $a + $b;
}
public function subtract($a, $b)
{
return $a - $b;
}
public function multiply($a, $b)
{
return $a * $b;
}
public function divide($a, $b)
{
return $a / $b;
}
}
?>
Eğer sınıfımızda farklı sayıda parametre belirlemeye çalışırsak - bu mümkün olmayacaktır: PHP hata verecektir. Böylece ne bir parametreyi yanlışlıkla unutabiliriz, ne de fazladan bir parametre ekleyebiliriz.
Elimizde şu şekilde bir iUser arayüzü olduğunu varsayalım:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Bu arayüzü uygulayan bir User sınıfı yapın.