Sobreescritura

package com.trifulcas.herencia;

public class Empleado {
	private String nombre;
	private double sueldo;
	/**
	 * @return the nombre
	 */
	public String getNombre() {
		return nombre;
	}
	/**
	 * @param nombre the nombre to set
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	/**
	 * @return the sueldo
	 */
	public double getSueldo() {
		return sueldo;
	}
	/**
	 * @param sueldo the sueldo to set
	 */
	public void setSueldo(double sueldo) {
		this.sueldo = sueldo;
	}
	
	@Override
	public String toString() {
		return "Empleado [nombre=" + nombre + ", sueldo=" + sueldo + "]";
	}
	
	public double sueldoNeto() {
		return sueldo*.85;
	}
	
}

package com.trifulcas.herencia;

public class Comercial extends Empleado {
	private double comision;
	private double ventas;
	/**
	 * @return the comision
	 */
	public double getComision() {
		return comision;
	}
	/**
	 * @param comision the comision to set
	 */
	public void setComision(double comision) {
		this.comision = comision;
	}
	/**
	 * @return the ventas
	 */
	public double getVentas() {
		return ventas;
	}
	/**
	 * @param ventas the ventas to set
	 */
	public void setVentas(double ventas) {
		this.ventas = ventas;
	}
	// El sueldo de un comercial es el sueldo menos el irpf
	// mas la comisión por las ventas
	// SObre escribo el método de la clase madre
	@Override
	public double sueldoNeto() {
		return getSueldo()*.85+comision*ventas;
	}
	
}

Empleado ana=new Empleado();
		ana.setNombre("Ana");
		ana.setSueldo(3000);
		System.out.println(ana);
		System.out.println(ana.sueldoNeto());
		
		Comercial eva=new Comercial();
		eva.setNombre("Eva");
		eva.setSueldo(2500);
		eva.setComision(0.05);
		eva.setVentas(10000);
		System.out.println(eva);
		System.out.println(eva.sueldoNeto());

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos