Privatūs metodai OOP PHP

Privatūs gali būti ne tik savybės, bet ir metodai. Paprastai privatūs daromi pagalbiniai metodai, kad jie netyčia negalėtų būti iškviesti iš klasės išorės.

Pažiūrėkime pavyzdžiu. Tegul mes turime tokią klasę:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->name;
    }
  }
?>

Padarykime šioje klasėje privatų metodą, kuris parametru priims eilutę ir padarys didžiąją raide jos pirmąjį simbolį:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->name;
    }
    
    private function cape($str) {
      return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
    }
  }
?>

Panaudokime savo pagalbinį metodą kito metodo viduje:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->cape($this->name);
    }
    
    private function cape($str) {
      return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
    }
  }
?>

Patikrinkime. Sukurkime savo klasės objektą:

php<?php
  $user = new User('john');
?>

Iškvieskime viešą metodą, naudojantį pagalbinį:

php<?php
  echo $user->show();
?>
Задание 1

Tolimesniame kode padarykite pagalbinį metodą privatių:

php<?php
  class Employee {
    public function __construct($name, $salary) {
      $this->name = $name;
      $this->salary = $salary;
    }
    
    public function getSalary() {
      return $this->addSign($this->salary);
    }
    
    public function addSign($num) {
      return $num . '
;
    }
  }
?>