Primer na static v OOP v PHP
Recimo, da imamo razred User:
<?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:
<?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:
<?php
$user1 = new User('user1');
echo User::$count; // izpiše 1
$user2 = new User('user2');
echo User::$count; // izpiše 2
?>
Naredite naš števec privaten. Naj bo njegovo vrednost mogoče dobiti s pomočjo posebne metode.