ობიექტზე ორიენტირებული პროგრამირებაში PHP-ში თვისებების გეთერები
დავუშვათ, გვაქვს შემდეგი კლასი პრივატული თვისებებით:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
როგორც ხედავთ, ეს თვისებები ირხება ერთხელ ობიექტის შექმნისას. ახლა, თუმცა, ამ თვისებების წაკითხვა შეუძლებელია, რადგან ისინი პრივატურია და არ არსებობს შესაბამისი მეთოდები ამისთვის.
მოდით, ჩვენი თვისებებისთვის შევქმნათ სპეციალური
მეთოდები, რომლებიც საშუალებას მოგვცემენ წავიკითხოთ ეს თვისებები.
ასეთ მეთოდებს (რომლებსაც გეთერებს უწოდებენ) ჩვეულებრივ
იწყებენ სიტყვით get, რასაც მოჰყვება
წასაკითხი თვისების სახელი.
მოდით შევქმნათ ჩვენი თვისებების გეთერები:
<?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
$user = new User('john', 'smit');
?>
წავიკითხოთ ეს მონაცემები, გამოვიყენოთ გეთერები:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
კლასში Employee შექმენით
სამი პრივატული თვისება: სახელი, ხელფასი
და ასაკი.
კონსტრუქტორს პარამეტრად გადაეცით ამ თვისებების მნიშვნელობები.
შექმენით გეთერები, რომლებიც გამოიტანენ ჩვენი თითოეული თვისების მნიშვნელობას.