Privé methoden in OOP in PHP

Niet alleen eigenschappen kunnen privé zijn, maar ook methoden. Meestal worden hulpmethoden privé gemaakt, zodat ze per ongeluk niet van buiten de klas kunnen worden aangeroepen.

Laten we een voorbeeld bekijken. Stel dat we de volgende klasse hebben:

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

Laten we in deze klasse een privé methode maken, die een string als parameter accepteert en de eerste letter hoofdletter maakt:

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

Laten we onze hulpmethode gebruiken binnen een andere methode:

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

Laten we het testen. Laten we een object van onze klasse maken:

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

Laten we de publieke methode aanroepen, die de hulpmethode gebruikt:

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

Maak in de volgende code de hulpmethode privé:

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