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

Ҳар бир свойствамизнинг қийматини чиқарувчи геттерлар яратинг.