PHP-də OOP-də static istifadəsinə nümunə

Tutaq ki, bizim belə bir User sinfimiz var:

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

Gəlin elə edək ki, bu sinif öz obyektlərinin sayını saysın. Bunun üçün statik count xassəsi yaradaq. Əvvəlcə ona 0 qiymətini yazaq, və hər yeni obyekt yaradılanda bu qiyməti 1 vahid artıraq.

Sayaçımızın qiymətini obyektin konstruktorunda artıracayıq:

User.php<?php
  class User
  {
    public static $count = 0; // obyektlərin sayacı
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Obyekt yaradılanda sayacı artırırıq:
      self::$count++;
    }
  }
?>

Gəlin yoxlayaq ki, hər şey işləyir:

index.php<?php
  $user1 = new User('user1');
  echo User::$count; // 1 çap edəcək
  
  $user2 = new User('user2');
  echo User::$count; // 2 çap edəcək
?>
Задание 1

Bizim sayacımızı private edin. Onun qiymətini xüsusi bir metodla əldə etmək mümkün olsun.