$this->metoda()
$objekt->metoda()
self::metoda(), self::$atribut
Trida::metoda(), Trida::$atribut
class Matematika { public function naDruhou($zaklad){ return $zaklad *$zaklad; } }
$matematika = new Matematika(); echo($matematika->naDruhou(12));
class Matematika { public static function naDruhou($zaklad){ return $zaklad *$zaklad; } }
echo(Matematika::naDruhou(12));
const PI_CISLO = 3.14159265358979; volání: Trida::PI_CISLO
//podobné jako definování jmenných konstant mimo OOP define(‘NAZEV_KONSTANTY’, ‘hodnota’);
normálně musíme každý skript s třídou načíst před použitím dané třídy (např. require_once)
// načte automaticky soubor s danou třídou ve složce classes function my_autoloader($class) { require_once 'classes/' . $class . '.class.php'; } // registruje funkci jako pro potřeby automatického načítání spl_autoload_register('my_autoloader');
<?php class Clovek { public function pozdrav() { echo('Ahoj'); } }
Následující kód vytvoří instanci třídy člověk.
<?php require_once('tridy/Clovek.php'); $karel = new Clovek(); $karel->pozdrav();
class Clovek { public $jmeno; public $prijmeni; public $vek; private $unava = 0; public function clovek($jmeno, $prijmeni, $vek) { $this->jmeno = $jmeno; $this->prijmeni = $prijmeni; $this->vek = $vek; } public function spi($doba) { $this->unava -= $doba * 10; if ($this->unava < 0) $this->unava = 0; } public function behej($vzdalenost) { if ($this->unava + $vzdalenost <= 20) $this->unava += $vzdalenost; else echo('Jsem příliš unavený.'); } public function pozdrav() { echo('Ahoj, já jsem ' . $this->jmeno); } public function __toString() { return $this->jmeno; } }
<?php require_once('tridy/Clovek.php'); $karel = new Clovek('Karel', 'Novák', 30); $jan = new Clovek('Jan', 'Nový', 24); $karel->behej(10); $karel->behej(10); $karel->behej(10); ?>