Herencia java

Solo disponible en BuenasTareas
  • Páginas : 4 (812 palabras )
  • Descarga(s) : 7
  • Publicado : 18 de mayo de 2010
Leer documento completo
Vista previa del texto
Herencia
Pero además de esta técnica de composición es posible pensar en casos en los que una clase es una extensión de otra. Es decir una clase es como otra y además tiene algún tipo decaracterística propia que la distingue. Por ejemplo podríamos pensar en la clase Empleado y definirla como:
class Empleado {
    String nombre;
    int numEmpleado , sueldo;

    static private int contador= 0;

    Empleado(String nombre, int sueldo) {
        this.nombre = nombre;
        this.sueldo = sueldo;
        numEmpleado = ++contador;
    }

    public void aumentarSueldo(intporcentaje) {
        sueldo += (int)(sueldo * aumento / 100);
    }

    public String toString() {
        return "Num. empleado " + numEmpleado + " Nombre: " + nombre +
                " Sueldo: " +sueldo;
    }
}
En el ejemplo el Empleado se caracteriza por un nombre (String) y por un número de empleado y sueldo (enteros). La clase define un constructor que asigna los valores de nombre ysueldo y calcula el número de empleado a partir de un contador (variable estática que siempre irá aumentando), y dos métodos, uno para calcular el nuevo sueldo cuando se produce un aumento de sueldo(método aumentarSueldo)  y un segundo que devuelve una representación de los datos del empleado en un String.(método toString).
Con esta representación podemos pensar en otra clase que reuna todas lascaracterísticas de Empleado y añada alguna propia. Por ejemplo, la clase Ejecutivo. A los objetos de esta clase se les podría aplicar todos los datos y métodos de la clase Empleado y añadir algunos, comopor ejemplo el hecho de que un Ejecutivo tiene un presupuesto. 
Así diriamos que la clase Ejecutivo extiende o hereda la clase Empleado. Esto en Java se hace con la clausula extends que se incorporaen la definición de la clase, de la siguiente forma:
class Ejecutivo extends Empleado {
    int presupuesto;
    void asignarPresupuesto(int p) {
        presupuesto = p;
    }
}
Con esta...
tracking img