วิธีการส่วนตัวใน OOP ใน 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 . '
;
    }
  }
?>