Enunciado:
La empresa informática “IPM Tech” necesita llevar un registro de todos sus empleados que se encuentran en la oficina central, para eso ha creado un diagrama de clases que debe incluir lo siguiente:
1) Empleado
Atributos:
- nombre: tipo cadena (Debe ser nombre y apellido)
- cedula: tipo cadena
- edad : entero (Rango entre 18 y 45 años)
- casado: boolean
- salario: tipo numérico doble
Métodos:
- Constructor con y sin parámetros de entrada
- Método que permita mostrar la clasificación según la edad de acuerdo al siguiente algoritmo:
Si edad es menor o igual a 21, Principiante
Si edad es >=22 y <=35, Intermedio
Si edad es >35, Senior.-
- Imprimir los datos del empleado por pantalla (utilizar salto de línea \n para separar los atributos.
- Un método que permita aumentar el salario en un porcentaje que sería pasado como parámetro al método.
2. Programador (Especialización de Empleado). Clase que hereda de Empleado todos los atributos y métodos.
- Atributos:
- lineasDeCodigoPorHora : tipo entero
- lenguajeDominante: tipo cadena
- Metodos:
- Constructor con y sin parámetos de entrada.
SOLUCION:
Primero debe definirse la clase Empleado con los atributos señalados en el exámen, se definen los métodos con las acciones pertinentes. Posteriormente se define la clase Programador como hija de la clase Empleado, con sus atributos y métodos correspondientes. Cuando se hace referencia a la clase padre se antepone al atributo la palabra super. La palabra this sirve para referenciar el objeto actual.
/** * ExamnIPM.java */ class Empleado{ String nombre; String cedula; int edad; boolean casado; double salario; Empleado(){ } Empleado(String nombre, String cedula, int edad, boolean casado, double salario) { this.nombre = nombre; this.cedula = cedula; this.edad = edad; this.casado = casado; this.salario = salario; } public String Clasificacion(){ String c=""; if (edad <= 21){ c = "Principiante"; } if ((edad >=22) & (edad <= 35)){ c = "Intermedio"; } if (edad > 35){ c = "Senior"; } return c; } public void ImprimirEmpleado(){ System.out.println(this.nombre); System.out.println(this.cedula); System.out.println(this.edad); if (casado) { System.out.println("Casado"); } else { System.out.println("Soltero"); } System.out.println(this.salario); } public void AumentarSalario(double incremento){ salario = salario * (1 + incremento); } } class Programador extends Empleado{ int lineasDeCodigoPorHora; String lenguajeDominante; Programador(String nombre, String cedula, int edad, boolean casado, double salario, int lineasDeCodigoPorHora, String lenguajeDominante){ super.nombre = nombre; super.cedula = cedula; super.edad = edad; super.casado = casado; super.salario = salario; this.lineasDeCodigoPorHora = lineasDeCodigoPorHora; this.lenguajeDominante = lenguajeDominante; } Programador(){ } } public class ExamnIPM { public static void main(String[] args){ Empleado e = new Empleado("Orlando Arróliga","12345",17,true,2000); Programador p1 = new Programador("Flavio","3456",20,false,1000,123,"Visual Basic"); p1.nombre = "Flavio"; p1.salario = 1000; p1.AumentarSalario(0.25); p1.ImprimirEmpleado(); } }
Hecho !
ResponderEliminarDe donde sacas los ejemplos?
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarSiempre se debe indicar los atributos de la clase padre en el constructor de la clase hija? :S
ResponderEliminarhola, para qué sirven los contructores vacios que aparecen en el código?
ResponderEliminarsirven para poder llamar un proceso
Eliminary no imprime si es principiante intermedio o señor
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarGracias Fue de mucha ayuda para mi, que apenas estoy empezando a programar. Saludo desde chiapas
ResponderEliminarProgramador(String nombre, String cedula, int edad, boolean casado, double salario, int lineasDeCodigoPorHora, String lenguajeDominante){
ResponderEliminarsuper.nombre = nombre;
super.cedula = cedula;
super.edad = edad;
super.casado = casado;
super.salario = salario;
this.lineasDeCodigoPorHora = lineasDeCodigoPorHora;
this.lenguajeDominante = lenguajeDominante;
}
yo remplaze las 5 primeras a si : super(nombre,cedula,edad,casado,salario); pero como es didactico se entiende mejor como esta
PARCE ME PUEDE AYUDAR CON UN EJERCICIO DE PROGRAMACION??? ES DE CARACTER URGENTE
ResponderEliminarpublic String Clasificacion(){
ResponderEliminarString c="";
if (edad <= 21){
c = "Principiante";
}
if ((edad >=22) & (edad <= 35)){
c = "Intermedio";
}
if (edad > 35){
c = "Senior";
}
return c;
}
porque no recibe como parametro la edad si es lo que se va clasificar disculpen
grACIAS Por El KodigOO if (kodigo==perron){
ResponderEliminarsysout("ke wen bideo");
}
ResponderEliminarDeben crear un proyecto con dos clases, una superclase llamada Clase con los atributos nombre, curso y edad y los métodos mostrarCurso, obtenerEdad y una subclase llamada Estudiante con los mismos atributos de la clase padre, utilizar el pilar de Herencia y crear el método constructor.