-----------------------------------------------------------------------------------------------------------
Hola comunidad !!! Tengo esta actividad y tengo que terminarla lo mas pronto posible ! !, :) ... He adelantado Bastante pero no se por que no puedo lograr sacra el 25% en la descripción de la actividad.. Quisiera que por favor me ayudaran compartiendo sus conocimientos para poderle darle solución a toda esta actividad que la tendré que entregar a tiempo.
- He echo Bastante del el programa !!! pero tengo problemas.
-Colocare el enunciado y el código que he realizado todas las clases y el probador para ejecutar el programa ! !. :D
-Solo basta una ayuda.
---------------------------------------------------------------------------------------------------------
Gracias muchísimas Gracias de antemano ! ;) :)
---------------------------------------------------------------------------------------------------------
Crear una clase Persona (cédula, nombre, apellido, edad)
Crear una clase derivada Estudiante (Código, Programa, Semestre, ValorMatricula)
Crear una clase Empleado (Código,Empleado, dependencia, Salario, Vinculación)
Crear una clase EstudianteEmpleado.
Además crear una Interfaz llamada PazySalvo que tenga el método saldo y el método mostrar. Implementar la interfaz en la clase EstudianteEmpleado para el método saldo restar del valor de la matricula el salario y para el método mostrar si el empleado gana el 25% del salario decir que tiene fondos con que pagar la matricula, sino diga que no tiene fondos.
Cree un probador en el cual tenga un listado de Estudiantes, Empleados y de Estudiantes Empleados, ingresarlos en un vector y luego muestre la información relacionada a cada uno de ellos.
----------------------------------------------------------------------------------------------------------------
De aquí se deriva el programa
----------------------------------------------------------------------------------------------------------------
---------------------------------
Esta es la clase Persona !
----------------------------------
<?php// final no deja sobre escribir class Persona { //put your code here private $cedula; private $nombre; private $apellido; private $edad; function __construct($cedula, $nombre, $apellido, $edad) { $this->cedula = $cedula; $this->nombre = $nombre; $this->apellido = $apellido; $this->edad = $edad; } public final function getCedula() { return $this->cedula; } public final function getNombre() { return $this->nombre; } public function getApellido() { return $this->apellido; } public final function getEdad() { return $this->edad; } public final function setCedula($cedula) { $this->cedula = $cedula; } public final function setNombre($nombre) { $this->nomre = $nombre; } public function setApellido($apellido) { $this->apellido = $apellido; } public final function setEdad($edad) { $this->edad = $edad; }}?>
-------------------------------------
Esta Es la clase Estudiante
------------------------------------
<?phpinclude_once 'Persona.php';class Estudiante extends Persona { //put your code here private $codigo; private $programa; private $semestre; private $valormatri; function __construct($cedula, $nombre, $apellido, $edad, $codigo, $programa, $semestre, $valormatri) { parent::__construct($cedula, $nombre, $apellido, $edad); $this->codigo = $codigo; $this->programa = $programa; $this->semestre = $semestre; $this->valormatri = $valormatri; } public function getCodigo() { return $this->codigo; } public function getPrograma() { return $this->programa; } public function getSemestre() { return $this->semestre; } public function getValormatri() { return $this->valormatri; } public function setCodigo($codigo) { $this->codigo = $codigo; } public function setPrograma($programa) { $this->programa = $programa; } public function setSemestre($semestre) { $this->semestre = $semestre; } public function setValormatri($valormatri) { $this->valormatri = $valormatri; }}?>
------------------------------------------------------
Esta es la clase Empleado
------------------------------------------------------
<?phpinclude_once 'Persona.php';class Empleado extends Persona { //put your code here private $codigoemp; private $cargo; private $salario; private $vinculacion; function __construct($cedula, $nombre, $apellido, $edad, $codigoemp, $cargo, $salario, $vinculacion) { parent::__construct($cedula, $nombre, $apellido, $edad); $this->codigoemp = $codigoemp; $this->cargo = $cargo; $this->salario = $salario; $this->vinculacion = $vinculacion; } public function getCodigoemp() { return $this->codigoemp; } public function getSalario() { return $this->salario; } public function getVinculacion() { return $this->vinculacion; } public function getCargo() { return $this->cargo; } public function setCodigoemp($codigoemp) { $this->codigoemp = $codigoemp; } public function setSalario($salario) { $this->salario = $salario; } public function SetCargo($cargo) { $this->cargo= $cargo; } public function setVinculacion($vinculacion) { $this->vinculacion = $vinculacion; }}?>
-------------------------------------------------------------
Esta es la clase EstudianteEmpleado
-------------------------------------------------------------
<?phpinclude_once 'Persona.php';include_once 'Empleado.php';include_once 'Estudiante.php';class EstudianteEmpleado extends Empleado { private $codigo; private $programa; private $semestre; private $valormatri; function __construct($cedula, $nombre, $apellido, $edad, $codigo, $programa, $cargo, $semestre, $salario, $codigoemp, $vinculacion, $valormatri) { parent::__construct($cedula, $nombre, $apellido, $edad, $codigoemp, $cargo, $salario, $vinculacion); $this->codigo = $codigo; $this->programa = $programa; $this->semestre = $semestre; $this->valormatri = $valormatri; }}?>
-------------------------------------------
Este es el Probador
------------------------------------------
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php include_once 'EstudianteEmpleado.php'; include_once 'Empleado.php'; include_once 'Estudiante.php'; include_once 'Persona.php'; $v = array(); $est = new Estudiante(88824, "Ana", "Lazuli", 18, 151310178, "Ingenieria", 4, 1800000); $emp = new Empleado(46548, "Luisa", "Perez", 19, 18902453, "secretaria", 1000000, "medio tiempo"); $est1 = new Estudiante(88858, "Julio", "Osorio", 18, 151311178, "Ingenieria", 3, 1750000); $emp1 = new Empleado(88824, "Ana", "Lazuli", 18, 151310128, "jardinero", 800000, "tiempo completo"); $ee = new EstudianteEmpleado(88824, "Ana", "Lazuli", 18, 151310178, "Ingenieria", "jardinero", 4, 800000, 151310128, "tiempo completo", 1800000); $v[0] = $est; $v[1] = $emp; $v[2] = $est1; $v[3] = $emp1; $v[4] = $ee; for ($i = 0; $i < count($v); $i++) { if ($v[$i]instanceof Estudiante) { echo 'ESTUDIANTE </br>'; echo'La Cedula Es --->' . " " . $v[$i]->getCedula() . "</br>"; echo'El Nombre Es --->' . " " . $v[$i]->getNombre() . "</br>"; echo'El Apellido Es --->' . " " . $v[$i]->getApellido() . "</br>"; echo'La Edad Es --->' . " " . $v[$i]->getEdad() . "</br>"; echo'El Codigo Es --->' . " " . $v[$i]->getCodigo() . "</br>"; echo'El Programa Es --->' . " " . $v[$i]->getPrograma() . "</br>"; echo'El Semestre Es --->' . " " . $v[$i]->getSemestre() . "</br>"; echo'El Valor De La Matricula Es --->' . " " . $v[$i]->getValormatri() . "</br>"; echo '</br>'; } else if ($v[$i]instanceof EstudianteEmpleado) { echo 'ESTUDIANTE & EMPLEADO </br>'; echo'La Cedula Es --->' . " " . $v[$i]->getCedula() . "</br>"; echo'El Nombre Es --->' . " " . $v[$i]->getNombre() . "</br>"; echo'El Apellido Es --->' . " " . $v[$i]->getApellido() . "</br>"; echo'La Edad Es --->' . " " . $v[$i]->getEdad() . "</br>"; echo'El Codigo Es --->' . " " . $v[$i]->getCodigo() . "</br>"; echo'El Programa Es --->' . " " . $v[$i]->getPrograma() . "</br>"; echo'El Cargo Es --->' . " " . $v[$i]->getCargo() . "</br>"; echo'El Semestre Es --->' . " " . $v[$i]->getSemestre() . "</br>"; echo'El Salario Es --->' . " " . $v[$i]->getSalario() . "</br>"; echo'El Codigo de empleado Es --->' . " " . $v[$i]->getCodigoemp() . "</br>"; echo'Su Vinculacion Es --->' . " " . $v[$i]->getVinculacion() . "</br>"; echo'El Valor De La Matricula Es --->' . " " . $v[$i]->getValormatri() . "</br>"; echo '</br>'; if ($v[$i]->getSalario()>= ($v[$i]->getValormatri()*0.25)){ echo 'Si alcanza'; } else { echo 'No alcanza '; } } else { echo '</br>'; echo 'Empleado </br>'; echo'La Cedula Es --->' . " " . $v[$i]->getCedula() . "</br>"; echo'EL Nombre Es --->' . " " . $v[$i]->getNombre() . "</br>"; echo'El Apellido Es --->' . " " . $v[$i]->getApellido() . "</br>"; echo'La Edad Es --->' . " " . $v[$i]->getEdad() . "</br>"; echo'El Codigo de empleado Es --->' . " " . $v[$i]->getCodigoemp() . "</br>"; echo'El Cargo Es --->' . " " . $v[$i]->getCargo() . "</br>"; echo'El Salario Es --->' . " " . $v[$i]->getSalario() . "</br>"; echo'Su Vinculacion Es --->' . " " . $v[$i]->getVinculacion() . "</br>"; echo '</br>'; } } ?>
</body>
</html>
Hola al ejecutar el código me han saltado errores,
En la clase prueba tenías:
echo 'ESTUDIANTE & EMPLEADO </br>';
...
echo'El Codigo Es --->' . " " . $v[$i]->getCodigo() . "</br>";
Y ahí me saltaba un error.
Para corregirlo lo he cambiado por
echo'El Codigo Es --->' . " " . $v[$i]->getCodigoemp() . "</br>";
Otras líneas con error en la clase prueba eran:
echo'El Programa Es --->' . " " . $v[$i]->getPrograma() . "</br>";
echo'El Semestre Es --->' . " " . $v[$i]->getSemestre() . "</br>";
echo'El Valor De La Matricula Es --->' . " " . $v[$i]->getValormatri() . "</br>";
Para corregirlos he añadido en la clase EstudianteEmpleado este código:
public function getPrograma() { return $this->programa; }
public function getSemestre() { return $this->semestre; }
public function getValormatri() {return $this->valormatri; }
El problema es que no puedes hacer que EstudianteEmpleado herede de dos clases porque php no admite la herencia de más de una clase. De ahí que tengas o bien que rediseñar las clases y hacerlo de otra manera, o bien que repetir métodos como te he indicado.
Para la interface Pazysalvo.php he creado esto:
<?php
interface PazySalvo {
public function saldo();
public function mostrar();
}
?>
Y luego se implementa en la clase EstudianteEmpleado:
<?phpinclude_once 'Persona.php';include_once 'Empleado.php';include_once 'Estudiante.php';include_once 'PazySalvo.php';class EstudianteEmpleado extends Empleado implements PazySalvo { private $codigo; private $programa; private $semestre; private $valormatri; function __construct($cedula, $nombre, $apellido, $edad, $codigo, $programa, $cargo, $semestre, $salario, $codigoemp, $vinculacion, $valormatri) { parent::__construct($cedula, $nombre, $apellido, $edad, $codigoemp, $cargo, $salario, $vinculacion); $this->codigo = $codigo; $this->programa = $programa; $this->semestre = $semestre; $this->valormatri = $valormatri; } public function getPrograma() { return $this->programa; } public function getSemestre() { return $this->semestre; } public function getValormatri() {return $this->valormatri; } public function saldo() { return 'Respuesta del metodo saldo aqui'; } public function mostrar() { return 'Respuesta del método mostrar'; } }?>
Sin embargo no sé qué código poner en el método saldo ni en el método mostrar ya que no sé qué es lo que tienen que hacer estos métodos ¿qué tienen que hacer estos métodos?
Cesar Excelente estubo tu ayuda .... Problea del foro resuelto Me salio Muy Bien y pues le modifique una que otra cosita ... no me habia fijado en esos pequeñitos errores ;D ;D;) Muchisimas Gracias Cesar Krall ;)