Private egenskaper i OOP i PHP
Objektegenskaper som kan leses og skrives utenfra, kalles offentlige. Det finnes også private egenskaper, som kun vil være tilgjengelige inni klassen.
Navn på private egenskaper må
deklareres med tilgangsmodifikatoren private.
La oss gjøre dette:
<?php
class User {
private $name;
}
?>
La oss nå skrive data til vår egenskap. Dette kan gjøres for eksempel i konstruktøren til klassen:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
La oss lage en metode som vil returnere verdien av vår egenskap:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
La oss opprette et objekt av klassen, og sende brukernavn som parameter:
<?php
$user = new User('john');
?>
Et forsøk på å aksessere direkte vår egenskap utenfor klassen vil føre til feil:
<?php
echo $user->name; // feil
?>
Og et kall til vår metode vil tillate å lese denne egenskapen:
<?php
echo $user->show(); // vil skrive ut 'john'
?>
I klassen Employee, lag
tre private egenskaper: navn, lønn
og alder.
Send verdiene for disse egenskapene som parameter til konstruktøren.
Lag en metode som vil skrive ut dataene til arbeidstakeren.