Zasebne metode v OOP v PHP

Zasebne so lahko ne le lastnosti, ampak tudi metode. Običajno so zasebne pomožne metode, da jih po naključju ne bi bilo mogoče klicati izven razreda.

Poglejmo si na primeru. Recimo, da imamo naslednji razred:

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

Naredimo v tem razredu zasebno metodo, ki bo parameter sprejela niz in naredila veliko začetnico prvega znaka:

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

Uporabimo našo pomožno metodo znotraj druge metode:

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

Preverimo. Ustvarimo objekt našega razreda:

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

Pokličimo javno metodo, ki uporablja pomožno:

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

V naslednji kodi naredite pomožno metodo zasebno:

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