Tulajdonság getterek az OOP-ban PHP-ben
Tegyük fel, hogy a következő osztályunk van privát tulajdonságokkal:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Amint látod, ezek a tulajdonságok egyszer kerülnek beállításra az objektum létrehozásakor. Jelenleg azonban ezeket a tulajdonságokat nem lehet elolvasni, mivel privátak és nincsenek megfelelő metódusaik ehhez.
Készítsünk a tulajdonságainkhoz speciális
metódusokat, amelyek lehetővé teszik ezen tulajdonságok
elolvasását. Az ilyen metódusokat (amelyeket
gettereknek hívnak) általában
a get szóval kezdik, majd következik
az olvasandó tulajdonság neve.
Készítsük el a tulajdonságaink gettereit:
<?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;
}
}
?>
Ellenőrizzük a működésüket. Hozzunk létre egy objektumot, paraméterként átadva a felhasználó adatait:
<?php
$user = new User('john', 'smit');
?>
Olvassuk el ezeket az adatokat, felhasználva a gettereket:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
A Employee osztályban készítsen
három privát tulajdonságot: nevet, fizetést
és életkort.
Adja át a konstruktor paraméterében ezen tulajdonságok értékeit.
Készítsen gettereket, amelyek kiírják minden egyes tulajdonságunk értékét.