Tham số trong phương thức của giao diện trong OOP PHP
Khi mô tả các phương thức trong giao diện, cần phải chỉ định không chỉ tên của các phương thức, mà cả các tham số mà chúng nhận.
Hãy xem một ví dụ. Giả sử chúng ta có
giao diện iMath, mô tả một lớp
cho các phép toán cộng, trừ,
nhân và chia. Hãy để giao diện này
trông như thế này:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Hiện tại, các phương thức của giao diện chúng ta không nhận bất kỳ tham số nào. Và thực tế là các phương thức của lớp sẽ triển khai giao diện này cũng không được phép nhận tham số, nếu không sẽ báo lỗi.
Hãy chỉ định các tham số cho phương thức trong giao diện của chúng ta:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Bây giờ hãy viết phần triển khai cho giao diện của chúng ta:
<?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;
}
}
?>
Nếu cố gắng đặt một số lượng tham số khác trong lớp của chúng ta - chúng ta sẽ không thể làm được: PHP sẽ báo lỗi. Do đó chúng ta không thể vô tình quên một tham số nào, cũng như không thể vô tình thêm một tham số thừa.
Giả sử chúng ta có giao diện iUser như sau:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Hãy tạo lớp User sẽ
triển khai giao diện này.