Herencia en java

Páginas: 8 (1940 palabras) Publicado: 29 de marzo de 2013
HERENCIA
UNIDAD VI

HERENCIA


En POO existen mecanismos especiales que
proporcionan la capacidad de definir una clase en
términos de una clase previamente definida.
Empleado
+name : String=“”
+salario : double
+cumple .Date
+getDetails() :String

Administrador
+departamento :String

public class Administrador extends Empleado{
public String departamento;
}

Implementaciónde la clase Administrador que
hereda de las clase Empleado.

HERENCIA


La herencia o relación “es-un” es la relación que
existe entre dos clases, en la que una clase
denominada derivada se crea a partir de otra ya
existente, denominada clase base.

Programador es
un
tipo
de
empleado, pero
con
caract.
propias

EMPLEADO

PROGRAMADOR

FIGURA

TRIÁNGULO

La claseTriángulo es
derivada de Figura, y
tendrá en común un
comportamiento y un
estado, aunque luego
tendrá sus propias
características

class nombre_clase extends nombre_clase_derivada

EJERCICIO. Representar la jerarquía de clases de
publicaciones que se distribuyen en una librería: revistas,
libros,
étc.
Todas las publicaciones tienen en común una editorial y
una fecha de publicación.Publicación

Revista

Libro

package editorial;
public class Publicacion {

public void nombrarEditor(String nomE) {…}
public void ponerFecha(long fe) {…}
private String editor;
private long fecha;
}
public class Revista extends Publicacion {
public void fijarNumeroAño(int n) {…}
public void fijarCirculacion (long n) {…}
private int numerosPorAño;
private long circulacion;
}public class Libro extends Publicacion {
public void ponerISBN(String nota) {…}

public void ponerAutor(String nombre) {…}
privatec String ISBN;
private String autor;
}

Libro lib = new Libro();
lib.nombraEditor(“McGrawHill”);
lib.ponerFecha(990606);
lib.ponerISBN(“84-481-2015-9”);
lib.ponerAutor(“Mackoy, José Luis”);

EJEMPLO: La clase Fecha define el método escribir(), la claseFechaJuliana hereda de la clase Fecha y sobreescribe el método.
class Fecha
{
private int d, m, a;
public Fecha (int dia, int mes, int año) {
d=dia; m=mes; a=año;
}
public Fecha() {}
public void escribir() {
System.out.println(“\n” + d + “ \ “ + m + “ \ “ + a);
}
class FechaJuliana extends Fecha {
private int numDias;
public FechaJuliana (int dia, int mes, int año) {…}
public voidescribir()
{
super.escribir(); // llamada al método de la clase Fecha
System.out.println(“Días transcurridos : “ + numDias);
}
}

HERENCIA SIMPLE




Java permite que una clase se extienda a otra clase solamente. Esta
restricción es llamada herencia simple.
Sin embargo, esto se puede solventar de la sig. manera:

HERENCIA MÚLTIPLE


Herencia múltiple es un tipo de herencia en
laque una clase hereda el estado
(estructura) y el comportamiento de más de
una clase base. En otras palabras, hay
herencia múltiple cuando una clase hereda
de más de una clase, es decir, existen
múltiples clases base (padres) para la clase
derivada (hija).

En herencia simple, una clase derivada hereda exactamente de
una clase base (tiene solo un padre). Herencia múltiple implicamúltiples clases bases (tiene varios padres una clase derivada).

Persona
Persona

Poste
Persona

Persona

Farola

Barco

Persona

Luz

Avión

Hidroavión

Redefinición de métodos en la clase
derivada


Un problema que se plantea cuando se manejan clases
derivadas es la dominación o prioridad, que se produce
cuando existen métodos en clases derivadas con el mismo
nombre queotros métodos de las clases base. Consideremos el
caso siguiente:
class Base {
public void metriv (int k) {…}
public void oferta (String h, int n) {…}
}
class Derivada extends Base {
//oculta a metriv() de la clase Base
public void metriv (int k) {…}
public void oferta (String h) {…}
}

En herencia, los métodos en las clases derivadas con la misma signatura (igual
nombre, tipo de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia java
  • Herencia Java
  • Java- herencias
  • Ejemplo de Herencia en Java
  • Java II Herencia
  • Herencia Lenguaje Java
  • POO Herencia En Java
  • Herencia con array en Java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS