Zasebne lastnosti v OOP v PHP
Lastnosti objekta, ki jih je mogoče brati in pisati od zunaj, imenujemo javne. Obstajajo tudi zasebne lastnosti, ki bodo dostopne samo znotraj razreda.
Imena zasebnih lastnosti je treba
deklarirati z modifikatorjem dostopa private.
Naredimo to:
<?php
class User {
private $name;
}
?>
Zdaj zapišimo podatke v našo lastnost. To lahko storimo na primer v konstruktorju razreda:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Naredimo zdaj metodo, ki bo vračala vrednost naše lastnosti:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Ustvarimo objekt razreda, ki mu podamo ime uporabnika kot parameter:
<?php
$user = new User('john');
?>
Poskus neposrednega dostopa do naše lastnosti zunaj razreda bo povzročil napako:
<?php
echo $user->name; // napaka
?>
Klic naše metode pa bo omogočil branje te lastnosti:
<?php
echo $user->show(); // izpiše 'john'
?>
V razredu Employee naredite
tri zasebne lastnosti: ime, plačo
in starost.
Preko konstruktorja posredujte vrednosti teh lastnosti.
Naredite metodo, ki bo izpisala podatke o delavcu.