Példa a static használatára az OOP-ban PHP-ben

Tegyük fel, hogy van egy User osztályunk:

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

Állítsuk be úgy, hogy ez az osztály számolja a saját objektumainak számát. Ehhez készítsünk egy statikus count tulajdonságot. Kezdetben állítsuk be értékének 0-át, és minden új objektum létrehozásakor növeljük meg ezt az értéket 1-gyel.

A számláló értékének növelését az objektum konstruktorában végezzük el:

User.php<?php
  class User
  {
    public static $count = 0; // objektumszámláló
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Növeljük a számlálót az objektum létrehozásakor:
      self::$count++;
    }
  }
?>

Ellenőrizzük, hogy minden működik-e:

index.php<?php
  $user1 = new User('user1');
  echo User::$count; // kiír 1-et
  
  $user2 = new User('user2');
  echo User::$count; // kiír 2-t
?>
Задание 1

Tegye a számlálónkat priváttá. Legyen lehetőség az értékének lekérésére egy speciális metódussal.