เกตเตอร์คุณสมบัติใน OOP ใน PHP

สมมติว่าเรามีคลาสต่อไปนี้ พร้อมกับคุณสมบัติแบบ private:

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

อย่างที่คุณเห็น คุณสมบัติเหล่านี้ถูกกำหนด ครั้งเดียวเมื่อสร้างอ็อบเจ็กต์ อย่างไรก็ตาม ตอนนี้ คุณสมบัติเหล่านี้ไม่สามารถอ่านได้ เพราะเป็นแบบ private และไม่มีเมธอดที่เกี่ยวข้อง สำหรับทำสิ่งนี้

มาสร้างเมธอดพิเศษสำหรับคุณสมบัติของเรา ที่อนุญาตให้อ่านคุณสมบัติเหล่านี้ เมธอดดังกล่าว (เรียกว่า เกตเตอร์) โดยปกติแล้ว จะขึ้นต้นด้วยคำว่า get จากนั้นตามด้วย ชื่อของคุณสมบัติที่ต้องการอ่าน

มาสร้างเกตเตอร์สำหรับคุณสมบัติของเรากัน:

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

มาทดสอบการทำงานของพวกมันกัน มาสร้างอ็อบเจ็กต์ โดยส่งผ่าน ข้อมูลผู้ใช้เป็นพารามิเตอร์:

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

มาอ่านข้อมูลนี้โดยใช้ เกตเตอร์:

php<?php
  var_dump($user->getName());
  var_dump($user->getSurn());
?>
Задание 1

ในคลาส Employee ให้สร้าง คุณสมบัติแบบ private สามอย่าง: ชื่อ เงินเดือน และอายุ

Задание 2

ส่งค่าเริ่มต้นให้คุณสมบัติเหล่านี้ผ่าน คอนสตรักเตอร์

Задание 3

สร้างเกตเตอร์ เพื่อคืนค่า ของแต่ละคุณสมบัติของเรา