Privata egenskaper i OOP i PHP
Objektets egenskaper som kan läsas och skrivas utifrån kallas publika. Det finns också privata egenskaper, som endast kommer att vara tillgängliga inuti klassen.
Namn på privata egenskaper måste
deklareras med åtkomstmodifieraren private.
Låt oss göra det:
<?php
class User {
private $name;
}
?>
Låt oss nu skriva data till vår egenskap. Detta kan göras till exempel i klassens konstruktor:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Låt oss nu skapa en metod som kommer att returnera värdet på vår egenskap:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Låt oss skapa ett objekt av klassen, och skicka med användarens namn som parameter:
<?php
$user = new User('john');
?>
Ett försök att direkt komma åt vår egenskap utanför klassen kommer att leda till ett fel:
<?php
echo $user->name; // fel
?>
Medan ett anrop av vår metod kommer att möjliggöra att läsa denna egenskap:
<?php
echo $user->show(); // skriver ut 'john'
?>
I klassen Employee, skapa
tre privata egenskaper: namn, lön
och ålder.
Skicka värdena för dessa egenskaper via konstruktorn som parameter.
Skapa en metod som skriver ut anställdas data.