Enunciado:
Tenemos una empresa en la que queremos guardar los datos de los empleados. Para ello necesitamos
crear una clase Empleado en la que guardaremos su nombre, número de hijos y fecha de nacimiento
además de un número que representa la categoría de su puesto de trabajo. Como un empleado es una
persona, la clase Empleado derivará de la clase Persona. En un fichero aparte crea la clase Empleado e
inserta métodos para construir un empleado, leer su categoría y cambiar su categoría. Además, redefine el
método mostrarDatos() para que incluya también la categoría del empleado.
Para probarlo créate un tercer fichero Prueba.java. Contendrá un método main en el que se cree un vector
de dos personas. En la primera componente pon una Persona y en la segunda un Empleado. A
continuación se llamará al método de escribir los componentes del vector.
Compila Prueba y Empleado y ejecuta Prueba
Código:
public class Persona{ static int numObj; private String nombre; private int hijos; public void setNombre (String nom) {nombre=nom;} public void setHijos (int hij) {hijos=hij;} public String getNombre() {return nombre;} public int getHijos() {return hijos;} Persona(String nombre,int hijos){ this.nombre=nombre; this.hijos=hijos; numObj++; } Persona(){ nombre="Anónimo"; numObj++; } public void mostrarDatos(String nombre,int hijos){ this.nombre=nombre; this.hijos=hijos; System.out.println(nombre+" "+hijos); } public void mostrarDatos(){ System.out.println(nombre+" "+hijos); } }
Código:
import util.*; public class Empleado extends Persona{ String fecha_nac; int categoria; public void construir_emple(){ nombre=Consola.pideString("Introduce el nombre: "); hijos=Consola.pideInt("Introduce el numero de hijos: "); fecha_nac=Consola.pideString("Introduce su fecha de nac. "); categoria=Consola.pideInt("Introduce su categoría: "); } public void mostrar_categoria(){ System.out.println("La categoria del empleado " +nombre+" es: "+categoria); } public void cambiar_categoria(){ categoria=Consola.pideInt("Introduce una nueva categoría para " +nombre+" : "); } public void mostrarDatos(){ System.out.println(nombre+" "+hijos+" "+fecha_nac+" "+categoria); } }//fin clase Empleado