Filtro CPL Polarizado ventajas

Crear clase Empleado en Java - Herencia simple POOI


Crear clase Empleado en Java - Herencia simple POOI

Crear una superclase llamada Empleado con atributos: nombre, sueldo base, número de empleado y antiguedad. Los métodos de esta clase serán:
* Constructor por defecto
* Constructor con todos los atributos
* get y set para todos los atributos
* ToString(); para mostras atributos
* SueldoN(); su valor dependera del grado academico o bien de la antiguedad

Crear una subclase llamada Docente con atributo; categoría y grado academico, además de los heredados. Los métodos de esta clase deberán ser:
* Constructor por defecto
* Constructor con la categoria, grado academico y demás atributos heredados
* get y set para la categpria y el grado academico
* SueldoN();  Su valor depende del sueldo base y del grado academico que le permite acceder a una beca como se muestra en la siguiente forma:

Grado->Licenciatura
Nivel de beca(Salarios mínimos) -> 1

Grado->Maestría
Nivel de beca(Salarios mínimos) -> 3

Grado->Doctorado
Nivel de beca(Salarios mínimos) -> 5

* ToString(); para mostrar atributos y demas valores

Crear una subclase llamadda admin con atributos; tipo de plaza, ademas de los heredados. Los métodos de esta clase deberán ser:
* Constructor por defecto
* Constructor con el tipo de plaza y demas atributos heredados
* get y set para el tipo de plaza
* SueldoN(); Su valor depende del sueldo base y del tipo de plaza, que le permite asignar el porcentaje de aumento. De la siguiente manera:


Tipo de plaza -> Administrativo
Porcentaje de aumento sobre el sueldo base -> 25%

Tipo de plaza -> Intendente
Porcentaje de aumento sobre el sueldo base -> 10%

* ToString(); para mostras los atributos y demás valores

Crear una clase ejecutable que lleve a cabo las siguientes actividades:

* Crear un arreglo de 10 empleados
* Asignar a cada elemento del arreglo un objeto, ya sea de la clase Docente o bien de la clase Admin con los valores que quieras.
* Recorrer el arreglo y ejecutar el métdod SueldoN() para obtener el sueldo de cada empleado del arreglo
* Mostrar la información de cada empleado con el método ToString()
* Obtener la suma de los sueldos de los Docentes
* Obtener el numero de empleados administrativos y el numero de docentes.
_________________________
Se tiene una clase padre llamada Empleado y dos hijas, Admin y Docente, también una clase ejecutable que le dará funcionalidad a la herencia simple.
En este ejemplo se utiliza la instrucción instanceof  para comparar si un objeto o instancia pertenece a una clase.
Se crearan objetos de la clases hijas, en particular, dichos objetos se almacenaran en arreglos.

La clase padre es Empleado.java


//Iván Luis Jiménez
public class Empleado {
    private String nombre;
    private float sueldo;
    private int num_empleado;
    private int antiguedad;
    private int p;
    
    public Empleado(){
        
    }
    
    public Empleado(String nombre, float sueldo, int num_empleado, int antiguedad){
        this.nombre = nombre;
        this.sueldo = sueldo;
        this.num_empleado = num_empleado;
        this.antiguedad = antiguedad;
    }
    
    public Empleado(String nombre, float sueldo, int num_empleado, int antiguedad, int tipo_p){
        this.nombre = nombre;
        this.sueldo = sueldo;
        this.num_empleado = num_empleado;
        this.antiguedad = antiguedad;
        p = tipo_p;
    }
    
    public int getTipo_Plaza(){
        return p;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public float getSueldo() {
        return sueldo;
    }

    public void setSueldo(float sueldo) {
        this.sueldo = sueldo;
    }

    public int getNum_empleado() {
        return num_empleado;
    }

    public void setNum_empleado(int num_empleado) {
        this.num_empleado = num_empleado;
    }

    public int getAntiguedad() {
        return antiguedad;
    }

    public void setAntiguedad(int antiguedad) {
        this.antiguedad = antiguedad;
    }

    @Override
    public String toString() {
        return "Empleado{" + "nombre=" + nombre + ", sueldo=" + sueldo + ", num_empleado=" + num_empleado + ", antiguedad=" + antiguedad + '}';
    }
    
    public double SueldoN(){
        return getSueldo()+(getSueldo()*0.10);
    }
    
   
    
}

Clase hija Docente que hereda de Empleado
/*
Suponiendo que categoria es entero:
Licenciatura = 1
Maestría = 2
Doctorado = 3
*/
public class Docente extends Empleado{
private int categoria;
private int grado_academico;

public Docente(){
    
}

public Docente(int categoria, int grado_academico, String nombre, float sueldo, int num_empleado, int antiguedad){
    super(nombre, sueldo, num_empleado, antiguedad);
    this.categoria = categoria;
    this.grado_academico = grado_academico;
}

    public int getCategoria() {
        return categoria;
    }

    public void setCategoria(int categoria) {
        this.categoria = categoria;
    }

    public int getGrado_academico() {
        return grado_academico;
    }

    public void setGrado_academico(int grado_academico) {
        this.grado_academico = grado_academico;
    }
    
    public double SueldoN(){
        double sueldo_total = 0;
        int sal_min = 70;
        if(getCategoria() == 1){
            sueldo_total = getSueldo() + sal_min;
        }else if(getCategoria() == 2){
            sueldo_total = getSueldo() + (sal_min * 3);
        }else if(getCategoria() == 3){
            sueldo_total = getSueldo() + (sal_min * 5);
        }
        
        return sueldo_total;
    }

    @Override
    public String toString() {
        return "Docente{" + "categoria=" + categoria + ", grado_academico=" + grado_academico + '}'+ super.toString();
    }
    
}

Clase hija Admin que hereda de Empleado
/*
Suponiendo que tipo de plaza es entero:
Administrativo = 1
Intendente = 2
*/
public class Admin extends Empleado{
static int tipo_plaza;

public Admin(){
    
}

public Admin(int tipo_plaza, int grado_academico, String nombre, float sueldo, int num_empleado, int antiguedad){
    super(nombre, sueldo, num_empleado, antiguedad, tipo_plaza);
    this.tipo_plaza = tipo_plaza;
}

    public int getTipo_plaza() {
        return tipo_plaza;
    }

    public void setTipo_plaza(int tipo_plaza) {
        this.tipo_plaza = tipo_plaza;
    }
    
    public double sueldoN(){
        double sueldo_final = 0;
        if(getTipo_plaza() == 1){
            sueldo_final = getSueldo() + (getSueldo()*0.25);
        }else if(getTipo_plaza() == 2){
            sueldo_final = getSueldo() + (getSueldo() * 0.10);
        }
        return sueldo_final;
    }

    @Override
    public String toString() {
        return "Admin{" + "tipo_plaza=" + tipo_plaza + '}'+ super.toString();
    }
    
    
    
}

Clase ejecutable, donde se crean los objetos
//Iván Luis Jiménez
public class ejecutable {
    
    public static void main(String[] args){
        Empleado[] empleados = new Empleado[10];//creando 10 empleados
        empleados[0] = new Docente(2,3,"Osiris Lucena",3500,65,24);
        empleados[1] = new Admin(2,3,"Carlos Mongradon",1500, 98,5);
        empleados[2] = new Docente(2,3,"Luna Lucena",3500,65,24);
        empleados[3] = new Admin(1,3,"Miguel Mongradon",1500, 98,5);
        empleados[4] = new Docente(2,3,"Sol Lucena",3500,65,24);
        empleados[5] = new Admin(2,3,"Julian Mongradon",1550, 98,5);
        empleados[6] = new Docente(2,3,"Estrella Lucena",3200,65,24);
        empleados[7] = new Admin(1,3,"Julio Mongradon",3655, 98,5);
        empleados[8] = new Docente(2,3,"Maritza Lucena",5500,65,24);
        empleados[9] = new Admin(1,3,"Marcos Mongradon",2987, 98,5);
        
        for(int i = 0; i < empleados.length; i++){
            System.out.println("Empleado "+(i+1)+" su sueldo es:"+empleados[i].SueldoN());
        }
        
        for(int i = 0; i < empleados.length; i++){
            System.out.println("Empleado "+(i+1)+" - Información:"+empleados[i].toString());
        }
        
        double suma_sueldos_docentes = 0;
        for(int i = 0; i< empleados.length; i++){
            if(empleados[i] instanceof Docente){
                suma_sueldos_docentes = suma_sueldos_docentes + empleados[i].SueldoN();
            }
        }
        
        System.out.println("La suma de los sueldos de los docentes es:"+suma_sueldos_docentes);
        
        int suma_emple_admin = 0;
        int suma_emple_inten = 0;
        
        for(int i = 0; i< empleados.length; i++){
            if(empleados[i] instanceof Admin){
                if(empleados[i].getTipo_Plaza() == 1){
                    suma_emple_admin = suma_emple_admin + 1;
                }else if (empleados[i].getTipo_Plaza() == 2){
                    suma_emple_inten = suma_emple_inten + 1;
                }
            }
        }
        System.out.println("La suma de empleados admin son:"+suma_emple_admin);
        System.out.println("La suma de empleados intendentes son:"+suma_emple_inten);
        
        
        
    }
}

Link de descarga del proyecto:
Descargar
http://raboninco.com/GCSb
Created By Ivanovich.
Cualquier duda, sugerencia o comentario enviarlo a: ivanthebest10@gmail.com

Comentarios