Propiedades privadas en POO en PHP
Las propiedades del objeto que se pueden leer y escribir desde fuera se denominan públicas. También existen propiedades privadas, que solo estarán accesibles dentro de la clase.
Los nombres de las propiedades privadas deben
declararse con el modificador de acceso private.
Hagamos esto:
<?php
class User {
private $name;
}
?>
Ahora escribamos datos en nuestra propiedad. Esto se puede hacer, por ejemplo, en el constructor de la clase:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Ahora creemos un método que devuelva el valor de nuestra propiedad:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Creemos un objeto de la clase, pasando como parámetro el nombre del usuario:
<?php
$user = new User('john');
?>
El intento de acceder directamente a nuestra propiedad fuera de la clase provocará un error:
<?php
echo $user->name; // error
?>
Y la llamada a nuestro método permitirá leer esta propiedad:
<?php
echo $user->show(); // mostrará 'john'
?>
En la clase Employee haga
tres propiedades privadas: nombre, salario
y edad.
Pase por el constructor los valores de estas propiedades.
Cree un método que muestre los datos del empleado.