<?php
/**
* Description of Herencia
*
* @author incid
*/
class Empleado {
private $nombre;
function __construct($nombre) {
$this->nombre = $nombre;
}
function __get($name) {
return $this->$name;
}
function __set($name, $value) {
if (empty($value)) {
throw new Exception("No se puede poner valores vacíos");
}
$this->$name = $value;
}
function saludo() {
echo "Hola";
}
}
class Gerente extends Empleado {
private $bonus;
function __construct($nombre, $bonus) {
parent::__construct($nombre);
$this->__set("bonus", $bonus);
}
function saludo() {
parent::saludo();
echo "Los gerentes saludan así: Holi";
}
function despedida() {
echo "Adios muy buenas";
}
}
class Gerente2 extends Empleado {
private $bonus;
function __construct($nombre, $bonus) {
parent::__construct($nombre);
$this->setBonus($bonus);
}
function getBonus() {
return $this->bonus;
}
function setBonus($bonus) {
$this->bonus = $bonus;
}
}
$juan = new Empleado("Juan Pérez");
$juan->nombre = "Pepito";
$juan->saludo();
//$juan->despedida(); //ERROR
var_dump($juan);
$eva = new Gerente("Eva Pi", 400);
$eva->saludo();
$eva->despedida();
//$eva->bonus=0;
var_dump($eva);