Sie sind auf Seite 1von 12

Programacin en

Java
Tema

Herencia
Programacin Orientada a Objetos
Tema : Herencia
Introduccin
MTI. Jos Antonio Velzquez Santana
La herencia es una propiedad esencial de la Programacin Orientada a
Objetos que consiste en la creacin de nuevas clases a partir de otras
ya existentes.

Este trmino ha sido prestado de la Biologa donde afirmamos que un
nio tiene la cara de su padre, que ha heredado ciertas facetas fsicas
o del comportamiento de sus progenitores.

Programacin Orientada a Objetos
Tema : Herencia
Introduccin
MTI. Jos Antonio Velzquez Santana
La herencia es la caracterstica fundamental que distingue un lenguaje
orientado a objetos, como el C++ o Java, de otro convencional como
C, BASIC, etc.

Java permite heredar a las clases caractersticas y conductas de una o
varias clases denominadas base.

Las clases que heredan de clases base se denominan derivadas, estas
a su vez, pueden ser clases bases para otras clases derivadas.

Se establece as una clasificacin jerrquica, similar a la existente en
Biologa con los animales y las plantas.

Programacin Orientada a Objetos
Tema : Herencia
Introduccin
MTI. Jos Antonio Velzquez Santana
El mecanismo conocido con el nombre de herencia permite reutilizar
clases, se crea una nueva clase que extiende la funcionalidad de una
clase existente, sin tener que reescribir el cdigo asociado a esta ltima.
Trabajador
Empleado Consultor
Programacin Orientada a Objetos
Tema : Herencia
Introduccin
MTI. Jos Antonio Velzquez Santana
Programacin Orientada a Objetos
Tema : Herencia
Introduccin
MTI. Jos Antonio Velzquez Santana
La herencia ofrece una ventaja importante:

Permite la reutilizacin del cdigo.

Una vez que una clase ha sido depurada y probada, el cdigo fuente de
dicha clase, no necesita modificarse. Su funcionalidad se puede cambiar
derivando una nueva clase que herede la funcionalidad de la clase base y
le aada otros comportamientos.

Reutilizando el cdigo existente, el programador ahorra tiempo y dinero,
ya que solamente tiene que verificar la nueva conducta que proporciona
la clase derivada.
Programacin Orientada a Objetos
Tema : Herencia
Aplicaciones de la Herencia
MTI. Jos Antonio Velzquez Santana
Especializacin:

Dado un concepto B y otro concepto A que representa una especializacin de B,
entonces puede establecerse una relacin de herencia entre las clases de objetos
que representan a A y B.
Programacin Orientada a Objetos
Tema : Herencia
Aplicaciones de la Herencia
MTI. Jos Antonio Velzquez Santana
Extensin:

Una clase puede servir para extender la funcionalidad de una superclase sin
que represente necesariamente un concepto ms especfico.
Programacin Orientada a Objetos
Tema : Herencia
Aplicaciones de la Herencia
MTI. Jos Antonio Velzquez Santana
Especificacin:

Una superclase puede servir para especificar la funcionalidad mnima
comn de un conjunto de descendientes.
Programacin Orientada a Objetos
Tema : Herencia
Consideraciones al aplicar herencia
MTI. Jos Antonio Velzquez Santana
Qu pasa si en la superclase hay un mtodo que funciona
distinto a como nos gustara que funcionara en la subclase?



public void area(float a){
comportamiento de mtodo de superclase
}


public area(float a, float b){
Nuevo comportamiento en subclase
}
Programacin Orientada a Objetos
Tema : Herencia
Aplicaciones de la Herencia
MTI. Jos Antonio Velzquez Santana
Son las subclases responsables de inicializar en sus
constructores las variables heredadas de las superclases?

Las subclases NO son responsables de inicializar las variables de instancia de
las variables que hereda.

Para pasarle la responsabilidad de inicializar esas variables a las superclases,
puede llamar al constructor de estas mediante la sentencia super().

Hay una especie de herencia de constructores
Herencia en el mundo real
Medio de
transporte
Vehculo areo
Objeto de oficina
Coche
Medio de tele-comunicacin

Das könnte Ihnen auch gefallen