Private egenskaber i OOP i PHP
Objekt egenskaber, som kan læses og skrives udefra, kaldes offentlige. Der findes også private egenskaber, som kun vil være tilgængelige inde i klassen.
Navnene på private egenskaber skal
deklareres med adgangsmodifikatoren private.
Lad os gøre dette:
<?php
class User {
private $name;
}
?>
Lad os nu skrive data til vores egenskab. Dette kan gøres for eksempel i klassens konstruktør :
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Lad os nu lave en metode, som vil returnere værdien af vores egenskab:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Lad os oprette et objekt af klassen, og videregive brugerens navn som parameter :
<?php
$user = new User('john');
?>
Et forsøg på at tilgå vores egenskab direkte uden for klassen vil føre til en fejl:
<?php
echo $user->name; // fejl
?>
Og et kald til vores metode vil tillade at læse denne egenskab:
<?php
echo $user->show(); // vil udskrive 'john'
?>
I klassen Employee skal du lave
tres private egenskaber: navn, løn
og alder.
Overfør værdierne for disse egenskaber via konstruktøren som parameter.
Lav en metode, som vil udskrive medarbejderens data.