<?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);