PHP да ООП да Хусусий методлар

Хусусий бўлиши фақат хусусиятларгина эмас, балки методлар ҳам. Одатда хусусий қилиб ёрдамчи методларни қўйилади, шунда улар ташқаридан чақирилиб қолмаслиги учун.

Келгила, мисолда кўрамиз. Фарз қилайлик, бизда куйидаги класс бор:

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

Ушбу классда хусусий метод ясайлик, у параметр сифатида сатрни қабул қилиб унинг биринчи белгисини бош ҳарф қилиб берсин:

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

Ёрдамчи методимиздан бошқа метод ичида фойдаланамиз:

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

Келгила, текширамиз. Классимизнинг объектини ясаймиз:

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

Ёрдамчи методдан фойдаланувчи оммавий методни чақирамиз:

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

Куйидаги кодда ёрдамчи методни хусусий қилинг:

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