empleado.java

来自「Code examples in Java about functions, t」· Java 代码 · 共 75 行

JAVA
75
字号
package eda.pract01.RecursosHumanos;

import java.util.*;

public class Empleado extends Persona {
	protected int sueldoBase;

	ArrayList cargos = new ArrayList();

	class Cargo { //clase interna
		private String nombre;

		private int extra;

		Cargo(String nombre, int extra) {
			this.nombre = nombre;
			this.extra = extra;
		}

		public long getExtra() {
			return extra;
		}

		public void setExtra(int extra) {
			this.extra = extra;
		}

		public String toString() {
			return " Puesto: " + nombre + " Sueldo Extra: " + getExtra();
		}

	}

	public Empleado(String nombre, int edad, int sueldoBase, String cargo,
			int extra) {
		//TODO
		super(nombre,edad);
		this.sueldoBase = sueldoBase;
		cargos.add(new Cargo(cargo,extra));
	}

	public Object clone() throws CloneNotSupportedException {
		//TODO
		Empleado clon = (Empleado) super.clone();
		clon.cargos = new ArrayList();
		Iterator itl = cargos.iterator();
		while(itl.hasNext())
		{
			Cargo cargooriginal = (Cargo) itl.next();
			Cargo cargoclonado = new Cargo(new String(cargooriginal.nombre),cargooriginal.extra);
			clon.cargos.add(cargoclonado);
		}
		return clon;
		
	}

	public void addCargo(String nombre, int extras) {
		cargos.add(new Cargo(nombre, extras));
	}

	public void setSueldoBase(int sueldoBase) {
		this.sueldoBase = sueldoBase;
	}

	public void setExtra(int extra) {
		Cargo cargo = (Cargo) cargos.get(cargos.size() - 1);
		cargo.setExtra(extra);
	}

	public String toString() {
		return super.toString() + " Sueldo: " + sueldoBase
				+ cargos.get(cargos.size() - 1).toString();
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?