package com.trifulcas.herencia.ejercicio; public abstract class Vehiculo { private String marca; private String modelo; private int anyo; public Vehiculo(String marca, String modelo, int anyo) { super(); this.marca = marca; this.modelo = modelo; this.anyo = anyo; } /** * @return the marca * */ protected String getMarca() { return marca; } /** * @return the modelo */ public String getModelo() { return modelo; } /** * @param modelo the modelo to set */ public void setModelo(String modelo) { this.modelo = modelo; } /** * @return the anyo */ public int getAnyo() { return anyo; } /** * @param anyo the anyo to set */ public void setAnyo(int anyo) { this.anyo = anyo; } public abstract void mostrarDetalles(); public void encender() { System.out.println("Vehículo encendido"); } }
package com.trifulcas.herencia.ejercicio; public class Coche extends Vehiculo { private int numeroDePuertas; public Coche(String marca, String modelo, int anyo, int numeroDePuertas) { super(marca, modelo, anyo); this.numeroDePuertas=numeroDePuertas; } /** * @return the numeroDePuertas */ public int getNumeroDePuertas() { return numeroDePuertas; } /** * @param numeroDePuertas the numeroDePuertas to set */ public void setNumeroDePuertas(int numeroDePuertas) { this.numeroDePuertas = numeroDePuertas; } @Override public void mostrarDetalles() { System.out.println( getMarca()+" - "+getModelo()+" - "+getAnyo()+" - "+getNumeroDePuertas()); } }
package com.trifulcas.herencia.ejercicio; public class Motocicleta extends Vehiculo { public Motocicleta(String marca, String modelo, int anyo, boolean tieneSidecar) { super(marca, modelo, anyo); this.tieneSidecar=tieneSidecar; } private boolean tieneSidecar; /** * @return the tieneSidecar */ public boolean getTieneSidecar() { return tieneSidecar; } /** * @param tieneSidecar the tieneSidecar to set */ public void setTieneSidecar(boolean tieneSidecar) { this.tieneSidecar = tieneSidecar; } @Override public void mostrarDetalles() { System.out.println( getMarca()+" - "+getModelo()+" - "+getAnyo()+" - "+getTieneSidecar()); } }
package com.trifulcas.herencia.ejercicio; public abstract class Empleado { private String nombre; private int edad; private double salario; public Empleado(String nombre, int edad, double salario) { super(); this.nombre = nombre; this.edad = edad; this.salario = salario; } /** * @return the nombre */ public String getNombre() { return nombre; } /** * @param nombre the nombre to set */ public void setNombre(String nombre) { this.nombre = nombre; } /** * @return the edad */ public int getEdad() { return edad; } /** * @param edad the edad to set */ public void setEdad(int edad) { this.edad = edad; } /** * @return the salario */ public double getSalario() { return salario; } /** * @param salario the salario to set */ public void setSalario(double salario) { this.salario = salario; } public abstract double calcularBonificacion(); public void mostrarDetalles() { System.out.println(getNombre()+" - "+getEdad()+" - "+getSalario()); } }
package com.trifulcas.herencia.ejercicio; public class EmpleadoMedioTiempo extends Empleado { private int horasTrabajadas; public EmpleadoMedioTiempo(String nombre, int edad, double salario, int horasTrabajadas) { super(nombre, edad, salario); this.horasTrabajadas = horasTrabajadas; } /** * @return the horasTrabajadas */ public int getHorasTrabajadas() { return horasTrabajadas; } /** * @param horasTrabajadas the horasTrabajadas to set */ public void setHorasTrabajadas(int horasTrabajadas) { this.horasTrabajadas = horasTrabajadas; } @Override public double calcularBonificacion() { return getHorasTrabajadas() * 1.2; } public void mostrarDetalles() { System.out.println(getNombre() + " - " + getEdad() + " - " + getSalario() + " - " + getHorasTrabajadas()); } }
package com.trifulcas.herencia.ejercicio; public class EmpleadoTiempoCompleto extends Empleado { private double bono; public EmpleadoTiempoCompleto(String nombre, int edad, double salario, double bono) { super(nombre, edad, salario); this.bono=bono; } /** * @return the bono */ public double getBono() { return bono; } /** * @param bono the bono to set */ public void setBono(double bono) { this.bono = bono; } @Override public double calcularBonificacion() { return bono; } @Override public void mostrarDetalles() { System.out.println(getNombre()+" - "+getEdad()+" - "+getSalario()+" - "+getBono()); } }
package com.trifulcas.herencia.ejercicio; public interface MetodoPago { void procesarPago(double monto); void mostrarDetalles(); }
package com.trifulcas.herencia.ejercicio; public class TarjetaCredito implements MetodoPago { private String numeroTarjeta; private String titular; private String fechaExpiracion; public TarjetaCredito(String numeroTarjeta, String titular, String fechaExpiracion) { super(); this.numeroTarjeta = numeroTarjeta; this.titular = titular; this.fechaExpiracion = fechaExpiracion; } @Override public void procesarPago(double monto) { System.out.println("Procesando el pago de "+monto); } @Override public void mostrarDetalles() { System.out.println(numeroTarjeta+" - "+titular+" - "+fechaExpiracion); } }
package com.trifulcas.herencia.ejercicio; public class Paypal implements MetodoPago { private String email; public Paypal(String email) { super(); this.email = email; } @Override public void procesarPago(double monto) { System.out.println("Procesando el pago PAYPAL de "+monto); } @Override public void mostrarDetalles() { System.out.println(email); } }
package com.trifulcas.herencia.ejercicio; public class TransferenciaBancaria implements MetodoPago { private String numeroCuenta; private String banco; @Override public void procesarPago(double monto) { System.out.println("Procesando pago Transferencia "+monto); } @Override public void mostrarDetalles() { System.out.println(numeroCuenta+" - "+banco); } }