15 - Clases abstractas y concretas. |
<html> <head> <title>Pruebas</title> </head> <body> <?php abstract class Persona { protected $nombre; protected $edad; public function cargarDatosPersonales($nom,$ed) { $this->nombre=$nom; $this->edad=$ed; } public function imprimirDatosPersonales() { echo 'Nombre:'.$this->nombre.'<br>'; echo 'Edad:'.$this->edad.'<br>'; } } class Empleado extends Persona{ protected $sueldo; public function cargarSueldo($su) { $this->sueldo=$su; } public function imprimirSueldo() { echo 'Sueldo:'.$this->sueldo.'<br>'; } } //Desmarcar para ver el error producido por la definición de un //objeto de una clase abstracta. //$persona1=new Persona(); //$persona1->cargarDatosPersonales('Rodriguez Pablo',24); //echo 'Datos personales de la persona:<br>'; //$persona1->imprimirDatosPersonales(); $empleado1=New Empleado(); $empleado1->cargarDatosPersonales('Gonzalez Ana',32); $empleado1->cargarSueldo(2400); echo 'Datos personales y sueldo del empleado:<br>'; $empleado1->imprimirDatosPersonales(); $empleado1->imprimirSueldo(); ?> </body> </html>
Ejecutar ejemplo
Confeccionar una clase abstracta Persona que tenga como atributos el nombre y la edad. Definir como responsabilidades un método que cargue los datos personales y otro que los imprima.
Plantear una segunda clase Empleado que herede de la clase Persona. Añadir un atributo sueldo y los métodos de cargar el sueldo e imprimir su sueldo.
Definir un objeto de la clase Persona y ver que error produce. También crear un objeto de la clase Empleado y llamar a sus métodos.