Hlavní stránka

PHP5aMySQL_str-154-b.php
PHP5aMySQL_str-154-c.php
PHP5aMySQL_str-154-d.php

Velká kniha PHP s MySQL

Kapitola 6 - Objektově orientované PHP - str. 151

Výpis 6-1. Vytvoření třídy


class Zamestnanec               //*třídu jsme slovem class vytvořili a pojmenovali Zamestnanec
{
  private $jmeno;               //*definice vlastnosti objektu - proměnné jmeno
  private $titul;
  protected $mzda;
  protected function pichnoutPrichod()               //*metoda pro činnost píchnout příchod
  {
    echo "Člen $this->jmeno si píchl příchod v ".date("h:i:s");
  }
  protected function pichnoutOdchod()               //*metoda pro činnost píchnout odchod
  {
    echo "Člen $this->jmeno si píchl odchod v ".date("h:i:s");
  }
}

Třída, kterou jsme si pojmenovali Zamestnanec, definuje tři vlastnosti, jmeno, titul a mzda, a dvě metody pro činnosti píchnout příchod (pichnoutPrichod) a píchnout odchod (pichnoutOdchod).

------------------------------------------------------------------------------------------------------------------

Kapitola 6 - Objektově orientované PHP - str. 153

Obory vlastnosti

PHP podporuje celkem pět oborů vlastností: public, private, protected, final a static.

Obor Public

Vlastnosti se deklarují jako veřejné jednoduše tak, že se před názvem proměnné uvede klíčové slovo public.
Ukázka:

class Zamestnanec
{
  public $jmeno;               //* $jmeno; je název proměnné
  // Zde následují další deklarace vlastnosti a metod...
}
------------------------------------------------------------------------------------------------------------------

Kapitola 6 - Objektově orientované PHP - str. 154

K veřejným vlastnostem lze přistupovat přímo. Také lze přímo s nimi i manipulovat prostřednictvím odpovídajícího objektu, jako zde:


Obsah souboru PHP5aMySQL_str-154_b.php:

?php
$zamestnanec = new Zamestnanec();             //* objekt je vytvořen pomocí klíčového slova new
$zamestnanec->jmeno = "Mary Swanson";     //* na vlastnost se odkazuje operátorem -> bez úvodního znaku dolar
$jmeno = $zamestnanec->jmeno;
echo "Nový zaměstnanec: $jmeno";
?


Při vykonání kódu se má vypsat: "Nový zaměstnanec: Mary Swanson"

A ve skutečnosti kód vypsal: Nový zaměstnanec: Mary Swanson

------------------------------------------------------------------------------------------------------------------

Kapitola 6 - Objektově orientované PHP - str. 156

Nastavování vlastností metodou __set()

Neexistující proměnná: $titul!