პრივატული თვისებები OOP-ში PHP-ში

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

პრივატული თვისებების სახელები უნდა გამოცხადდეს წვდომის მოდიფიკატორით private. მოდით გავაკეთოთ ეს:

php<?php
  class User {
    private $name;
  }
?>

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

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

ახლა გავაკეთოთ მეთოდი, რომელიც დაგვიბრუნებს ჩვენი თვისების მნიშვნელობას:

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

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

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

ჩვენი თვისების უშუალოდ კლასის გარეთ მიწვდომის მცდელობა გამოიწვევს შეცდომას:

php<?php
  echo $user->name; // შეცდომა
?>

ჩვენი მეთოდის გამოძახება კი მოგვცემს ამ თვისების წაკითხვის საშუალებას:

php<?php
  echo $user->show(); // გამოიტანს 'john'-ს
?>
Задание 1

Employee კლასში გააკეთეთ სამი პრივატული თვისება: სახელი, ხელფასი და ასაკი.

Задание 2

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

Задание 3

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