PHP'деги ООП'де static мисал
Анда бизде төмөнкүдөй User классы бар дейли:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Келгиле, бул класс өзүнүн объектилеринин санын эсептеп чыгууга мүмкүнчүлүк берсин. Бул үчүн статикалык count касиетин түзөбүз. Ага башында 0 маанисин жазабыз, ар бир жаңы объект жаралганда болсо бул маанини 1ге көбөйтөбүз.
Эсептөөчүбүздүн маанисин объекттин конструкторунда көбөйтөбүз:
<?php
class User
{
public static $count = 0; // объекттерди эсептөөчү
public $name;
public function __construct($name)
{
$this->name = $name;
// Объект жаралганда эсептөөчүнү көбөйтөбүз:
self::$count++;
}
}
?>
Баары иштеп жатканын текшеребиз:
<?php
$user1 = new User('user1');
echo User::$count; // 1 чыгарат
$user2 = new User('user2');
echo User::$count; // 2 чыгарат
?>
Биздин эсептөөчүбүздү приват кылыңыз. Анын маанисин атайын метод менен гана алууга болсун.