class Aula {
//propiedades nombre de tipo string y capacidad de tipo entero privadas
//Crear constructor con nombre obligatorio y capacidad opcional (por defecto 15)
//Crear getters y setters: El nombre no puede estar vacío y la capacidad entre 10 y 100
private $nombre;
private $capacidad;
function __construct(string $nombre, int $capacidad = 15) {
$this->setNombre($nombre);
$this->setCapacidad($capacidad);
}
function getNombre() {
return $this->nombre;
}
function getCapacidad() {
return $this->capacidad;
}
function setNombre(string $nombre) {
if (!empty($nombre)) {
$this->nombre = $nombre;
} else {
throw new Exception('El nombre no puede estar vacío');
}
}
function setCapacidad(int $capacidad) {
if ($capacidad < 10 || $capacidad > 100) {
throw new Exception('Capacidad entre 10 y 100');
} else {
$this->capacidad = $capacidad;
}
}
}
try {
$a = new Aula("Nombre");
$a->setCapacidad(500);
} catch (Exception $ex) {
echo $ex->getMessage() . " en la línea " . $ex->getLine();
}