Гетэры ўласцівасцяў у ААП у PHP
Хай у нас ёсць наступны клас з прыватнымі ўласцівасцямі:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Як вы бачыце, гэтыя ўласцівасці задаюцца адзін раз пры стварэнні аб'екта. Цяпер, аднак, гэтыя ўласцівасці немагчыма прачытаць, бо яны прыватныя і няма адпаведных метадаў для гэтага.
Давайце зробім для нашых уласцівасцяў спецыяльныя
метады, якія дазваляюць прачытаць гэтыя ўласцівасці.
Такія метады (іх называюць гетэры) звычайна
пачынаюцца са слова get
, а затым ідзе
назва чытаемай уласцівасці.
Давайце зробім гетэры нашых уласцівасцяў:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
Давайце праверым іх працу. Стварым аб'ект, параметрам перадаўшы дадзеныя карыстальніка:
<?php
$user = new User('john', 'smit');
?>
Прачытаем гэтыя дадзеныя, скарыстаўшыся гетэрамі:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
У класе Employee
зрабіце
тры прыватныя ўласцівасці: імя, заробную плату
і ўзрост.
Перадайце параметрам канструктара значэнні гэтых уласцівасцяў.
Зрабіце гетэры, якія выводзяць значэнні кожнага з нашых уласцівасцяў.