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);
}
}