1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | public class Empleado { private String nombre; protected int sueldo; // getters y setters public String getNombre() { return nombre; } public void setNombre(String nombre) { this .nombre = nombre; } public void setSueldo( int sueldo) { if (sueldo> 900 && sueldo < 10000 ) { this .sueldo = sueldo; } } public double sueldoNeto() { return sueldo*. 87 ; } @Override public String toString() { return "Empleado [nombre=" + nombre + ", sueldo=" + sueldo + "]" ; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public class Comercial extends Empleado { private double comision; private int ventas; public double getComision() { return comision; } public void setComision( double comision) { this .comision = comision; } public int getVentas() { return ventas; } public void setVentas( int ventas) { this .ventas = ventas; } @Override public double sueldoNeto() { return super .sueldoNeto()+ventas*comision; } } |
1 2 3 4 5 6 | public class Directivo extends Empleado { @Override public double sueldoNeto() { return super .sueldoNeto()* 2 ; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ArrayList<Vehiculo> tropa= new ArrayList<>(); tropa.add( new Coche()); // Un coche es un vehículo tropa.add( new Bicicleta()); // Esto también tropa.add( new Coche()); tropa.add( new Tanque()); // Y eso también lo es for (Vehiculo v:tropa) { v.acelerar(); // al acelerar estoy llamando al método de cada objeto v.derecha(); System.out.println(v); } Empleado pepe= new Empleado(); pepe.setSueldo( 1000 ); Comercial ana= new Comercial(); ana.setSueldo( 1000 ); ana.setComision(. 05 ); ana.setVentas( 20000 ); Directivo antonio= new Directivo(); antonio.setSueldo( 5000 ); ArrayList<Empleado> empresa= new ArrayList<>(); empresa.add(pepe); empresa.add(ana); empresa.add(antonio); int total= 0 ; for (Empleado e:empresa) { total+=e.sueldoNeto(); System.out.println(e.sueldoNeto()); } System.out.println(total); } |