PHP'de OOP'de Özel Metotlar

Sadece özellikler değil, metotlar da özel olabilir. Genellikle yardımcı metotlar, yani haricen yanlışlıkla çağrılamamaları için yapılan metotlar özel yapılır.

Bir örnek üzerinden inceleyelim. Aşağıdaki gibi bir sınıfımız olduğunu varsayalım:

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

Bu sınıfın içinde, parametre olarak bir dize alan ve ilk karakterini büyük harf yapan özel bir metot oluşturalım:

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

Yardımcı metodumuzu başka bir metodun içinde kullanalım:

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

Şimdi test edelim. Sınıfımızdan bir nesne oluşturalım:

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

Yardımcı metodu kullanan genel metodu çağıralım:

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

Aşağıdaki kodda yardımcı metodu özel yapın:

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