Objetivos
1 Crear una Lista Encadenada
2.- Recordar Herencia (Clases Abstractas)
3.- Composicin
Maritzol Tenemaza (derechos reservados)
1.- Estructura a crear:
Clase Fecha:
package epn;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;
public class Fecha {
private int dia, mes, ao;
public Fecha(String tipo) {
super();
package epn;
import javax.swing.JOptionPane;
public class EmpleadoAsalariado extends Empleado {
private float salario;
public EmpleadoAsalariado() {
super();
salario=
Float.parseFloat(JOptionPane.showInputDialog("EmpleadoAsalariado, Ingrese el
salario"));
}
public EmpleadoAsalariado(float salario) {
super();
this.salario = salario;
}
public float calculoSalario(){
return salario;
}
@Override
public String toString() {
return super.toString()+"EmpleadoAsalariado [salario=" + salario +
"]";
"]";
@Override
public String toString() {
return super.toString()+"EmpleadoAsalariado [salario=" + salario +
}
Clase Nodo
package listaEncadenada;
import epn.Empleado;
public class Nodo {
Empleado empleado;
Nodo enl;
public Nodo(Empleado empleado ) {
super();
this.empleado= empleado;
this.enl=null;
}
public Nodo(Empleado empleado, Nodo enl) {
super();
this.empleado = empleado;
this.enl = enl;
}
@Override
public String toString() {
return "Nodo [empleado=" + empleado + "]";
}
}
Clase Lista Encadenada
package listaEncadenada;
import epn.Empleado;
public class ListaEncadenada {
Nodo primerNodo;
primerNodo=null;
Clase Aplicacin
package Uso;
import javax.swing.JOptionPane;
import epn.Empleado;
import epn.EmpleadoAsalariado;
import epn.EmpleadoHoras;
import listaEncadenada.ListaEncadenada;
public class Aplicacin {
public static void main(String[] args) {
ListaEncadenada listaEncadenada= new ListaEncadenada();
int opcion;
Empleado empleado;
int tipoAccin;
do
{
empleado= solicitaEmpleado();
String[] buttons = { "AgregarAlFrente", "AgregarALFinal", "Listar"};
tipoAccin = JOptionPane.showOptionDialog(null, "Qu desea hacer sobre
su lista encadenada", "Lista
Encadenada",JOptionPane.INFORMATION_MESSAGE,1, null, buttons, buttons[2]);
switch(tipoAccin){
case 0:
listaEncadenada.insertarAlFrente(empleado);
break;
case 1:
listaEncadenada.insertarAlFinal(empleado);
break;
case 2:
JOptionPane.showMessageDialog(null, listaEncadenada.Listar());
break;
}
int tipoEmpleado;
String[] buttons = {"Asalariado", "Por Horas"};
tipoEmpleado = JOptionPane.showOptionDialog(null, "Seleccione el tipo de
empleado", "Tipo de empleado",JOptionPane.INFORMATION_MESSAGE,1, null,
buttons, buttons[1]);
switch(tipoEmpleado){
case 0:
empleadoAux=new EmpleadoAsalariado();
break;
case 1:
empleadoAux=new EmpleadoHoras();
break;
}
return empleadoAux;
}