Objekty
Deklarácia triedy
[final] class meno_triedy [extends meno rodičovskej triedy]
{
// telo triedy
const meno_konštanty = hodnota_konštanty;
[úroveň prístupu] [static] $meno_atribútu [= hodnota];
[úroveň prístupu] [static] [final] function meno_metódy(...)
{
// telo metódy
}
}
V tele triedy sú deklarované atribúty, resp. metódy triedy rovnako ako klasické premenné, resp. funkcie. Všetky atribúty a metódy (aj statické) sú deklarované v rámci zvolenej úrovne prístupu:
| Úroveň prístupu | Popis |
|---|---|
private | K atribútom a metódam označeným kľúčovým slovom private (súkromné) majú prístup len metódy vlastnej triedy. |
protected | K atribútom a metódam označeným kľúčovým slovom protected (chránené) majú prístup metódy vlastnej triedy a tried, ktoré sú rozšírením tejto triedy. |
public | K atribútom a metódam označeným kľúčovým slovom public (verejné) je možné pristupovať z akéhokoľvek kontextu. |
<?php
class Test
{
public $verejne; // táto vlastnosť je dostupná odkiaľkoľvek
privat $privatne; // vlastnosť prístupná len danému objektu
privat $moje; // tiež prístupné len danému objektu
public $meno = "";
public $cislo;
}
?>
Špeciálne kľúčové slová
| Kľúčové slovo | Popis |
|---|---|
$this | Táto pseudopremenná odkazuje na volajúci objekt. Používa sa pri prístupe k atribútom objektu. V statických metódach nie je definovaná. |
parent | Vo vnútri triedy zastupuje identifikátor rozširovanej (rodičovskej) triedy. |
self | Vo vnútri triedy zastupuje aktuálny identifikátor triedy. Dostupné od PHP 5. |
Vytváranie inštancií
Inštanciu triedy vytvárame pomocou operátora new (viď. kapitolu Dátové typy a operátory).
<?php
$mojTest = new Test(); v PHP 4 zadáme meno triedy bez zátvoriek $mojTest = new Test;
?>
Práca s vlastnosťami objektu
Meno vlastnosti triedy je vždy treba odkazovať cez meno objektu.
<?php
$mojTest->cislo = 123456;
$mojTest->meno = "Martin";
?>

