Primer na static v OOP v PHP

Recimo, da imamo razred User:

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

Naredimo tako, da bo ta razred štel število svojih objektov. Za to naredimo statično lastnost count. Sprva zapišimo vanjo vrednost 0, pri ustvarjanju vsakega novega objekta pa povečajmo to vrednost za 1.

Vrednost našega števca povečujmo v konstruktorju objekta:

User.php<?php
  class User
  {
    public static $count = 0; // števec objektov
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Povečamo števec pri ustvarjanju objekta:
      self::$count++;
    }
  }
?>

Preverimo, ali vse deluje:

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

Naredite naš števec privaten. Naj bo njegovo vrednost mogoče dobiti s pomočjo posebne metode.