jmeno = $hodnota;
}
// getter
public function getJmeno()
{
return $this->jmeno;
}
// read-only
public function getID(){
return $this->ID;
}
public function __construct($ID,$jmeno) {
$this->ID= ++self::$lastID; // self zastupuje tridu
$this->jmeno;// this zastupuje instanci tridy
}
private static $lastID = 0;
public static function getLastID()
{
return self::$lastID;
}
// dalsi property
public $mesto = "Praha";
public $stat = "CR";
private $telefon = "12456";
public function __get($name)
{
if ($name=="telefon") return $this->telefon;
else if (isset($this->$name)) return $this->name;
else return "vlastnost neexistuje
";
//else return "vlastnost $name neexistuje
";
}
public function __set ( $name, $value)
{
$this->name = $value;
}
public function __destruct() {
echo "rusim instanci $this->jmeno";
}
}
$zam1 = new Zam("hanka");
$zam1 = new Zam("alena"); // proc se nezobrazi spravnej tooltip????
// getter, setter pro private promenne
echo "posledni pridelene ID je" . Zam::getLastID()."
";
echo $zam1->telefon . "
";
echo $zam1->jmeno . "
"; // v pripade, ze neresime v __get, je treba psat $zam1->getJmeno()
$zam1->titul = "dr"; // vytvoreni public promenne(property)
echo $zam1->titul . "
";
$zam2->telefon = "798";
echo $zam2->telefon . "
";
foreach ( $zam1 as $vlastnost=>$hodnota)
{
echo "$zam1 $vlastnost = $hodnota
";
} // jen ty public
// klonovani
$zam1 = clone $zam1; // kopie 1. urovne na heapu
// ruseni objektu
$zam2 = null; // eva
echo "zdrzeni..."; // hanka, hanka
?>