Parameter dalam Metode Antarmuka di OOP PHP
Saat mendeskripsikan metode dalam antarmuka, perlu menunjukkan tidak hanya nama metode itu sendiri, tetapi juga parameter yang diterimanya.
Mari kita lihat contohnya. Misalkan kita memiliki
antarmuka iMath, yang mendeskripsikan kelas
untuk operasi matematika penjumlahan, pengurangan,
perkalian, dan pembagian. Misalkan antarmuka ini
terlihat seperti ini:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Saat ini metode antarmuka kita tidak menerima parameter apa pun. Dan sebenarnya, metode kelas yang akan mengimplementasikan antarmuka ini juga tidak boleh menerima parameter, atau akan terjadi error.
Mari tentukan parameter metode dalam antarmuka kita:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Sekarang mari tulis implementasi dari antarmuka kita:
<?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;
}
}
?>
Jika mencoba dalam kelas kita untuk menentukan jumlah parameter yang berbeda - kita tidak akan bisa melakukannya: PHP akan menghasilkan error. Dengan demikian kita tidak bisa secara tidak sengaja melupakan suatu parameter, atau secara tidak sengaja menambahkan parameter tambahan.
Misalkan kita diberikan antarmuka iUser seperti ini:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Buatlah kelas User, yang akan
mengimplementasikan antarmuka ini.