ობიექტზე ორიენტირებული პროგრამირებაში PHP-ში თვისებების გეთერები

დავუშვათ, გვაქვს შემდეგი კლასი პრივატული თვისებებით:

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

როგორც ხედავთ, ეს თვისებები ირხება ერთხელ ობიექტის შექმნისას. ახლა, თუმცა, ამ თვისებების წაკითხვა შეუძლებელია, რადგან ისინი პრივატურია და არ არსებობს შესაბამისი მეთოდები ამისთვის.

მოდით, ჩვენი თვისებებისთვის შევქმნათ სპეციალური მეთოდები, რომლებიც საშუალებას მოგვცემენ წავიკითხოთ ეს თვისებები. ასეთ მეთოდებს (რომლებსაც გეთერებს უწოდებენ) ჩვეულებრივ იწყებენ სიტყვით 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 შექმენით სამი პრივატული თვისება: სახელი, ხელფასი და ასაკი.

Задание 2

კონსტრუქტორს პარამეტრად გადაეცით ამ თვისებების მნიშვნელობები.

Задание 3

შექმენით გეთერები, რომლებიც გამოიტანენ ჩვენი თითოეული თვისების მნიშვნელობას.