PHP-də OOP-də İnterfeys Metodlarında Parametrlər

Interfeyslərdə metodları təyin edərkən təkcə metodların öz adlarını deyil, həm də onların qəbul etdiyi parametrləri göstərmək lazımdır.

Gəlin bir nümunəyə baxaq. Tutaq ki, bizim riyazi əməliyyatlar üçün toplama, çıxma, vurma və bölməni təsvir edən iMath interfeysimiz var. Bu interfeys belə görünsün:

iMath.php<?php
  interface iMath
  {
    public function sum();
    public function subtract();
    public function multiply();
    public function divide();
  }
?>

Hal-hazırda interfeysimizin metodları heç bir parametr qəbul etmir. Və əslində, bu interfeysi həyata keçirəcək sinifin metodları da heç bir parametr qəbul etməməlidir, əks halda səhv baş verəcək.

Gəlin indi interfeysimizdə metod parametrlərini göstərək:

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);
  }
?>

İndi isə interfeysimizin realizasiyasını yazaq:

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;
    }
  }
?>

Əgər sinifimizdə parametrlərin sayını fərqli təyin etməyə çalışsaq - bu, sadəcə alınmayacaq: PHP səhv göstərəcək. Beləliklə, biz nə təsadüfən hansısa parametri unuda bilərik, nə də təsadüfən əlavə parametr əlavə edə bilərik.

Задание 1

Tutaq ki, bizə belə bir iUser interfeysi verilib:

php<?php
  interface iUser
  {
    public function setName($name);
    public function getName();
    public function setAge($age);
    public function getAge();
  }
?>

Bu interfeysi həyata keçirən User sinifini yaradın.