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:

iMath.php<?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:

iMath.php<?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:

Math.php<?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.

Задание 1

Giả sử chúng ta có giao diện iUser như sau:

php<?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.