ООП да PHP да static мисоли

Фарз қилайлик, бизда User номли шундай класс бор:

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

Келинг, шу класс ўзининг объектлари сонини ҳисоблай оладиган қилиб қўйайлик. Бунинг учун статик хусусият count ни яратамиз. Бошланғич қиймат сифатида унга 0 ни ёзамиз, ва ҳар бир янги объект яратилганда бу қийматни 1 га оширамиз.

Ҳисоблагчимизнинг қийматини объектнинг конструкторида оширамиз:

User.php<?php
  class User
  {
    public static $count = 0; // объектлар ҳисоблагчиси
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Объект яратилганда ҳисоблагчини оширамиз:
      self::$count++;
    }
  }
?>

Ҳаммаси ишлаётганини текширамиз:

index.php<?php
  $user1 = new User('user1');
  echo User::$count; // 1 ни чиқаради
  
  $user2 = new User('user2');
  echo User::$count; // 2 ни чиқаради
?>
Задание 1

Бизнинг ҳисоблагчимизни приват қилинг. Унинг қиймати махсус метод орқали олинсин.