Revista Informática

Herencia

Publicado el 03 abril 2014 por Codehero @codeheroblog
Herencia

Dificultad: Novato

Duración: 20 min

Bienvenidos Java desde Cero, curso en el cual aprendemos a programar sin conocimiento alguno. En el capítulo anterior, aprendimos escribir y leer (I/O) información de un archivo con la ayuda de Java. Si eres nuevo en este curso, te recomiendo que le eches un vistazo al capítulo anterior para que te pongas en contexto ( Capítulo 10 - Archivos (E/S))

Hoy vamos a ver todo lo relacionado a la herencia dentro del mundo de Java.

Herencia

La herencia puede ser definida como el proceso en el que un objeto adquiere las propiedades de otro. Con su uso la información del objeto se hace manejable en un orden jerárquico.

Cuando hablamos de herencia, las palabras claves más utilizadas serían extends y implements. Estas palabras podrían determinar si un objeto es de un tipo o de otro. Mediante el uso de estas palabras claves, podemos hacer que un objeto adquiere las propiedades de otro objeto.

Relación ES-UN

ES-UN es una manera de decir: Este objeto es un tipo de objeto. Vamos a ver cómo la palabra clave extends se utiliza para conseguir la herencia.

Ahora, con base en el ejemplo anterior, en términos orientados a objetos, lo siguiente es cierto:

  • Carro es la superclase de la clase Ford.

  • Carro es la superclase de la clase de Toyota.

  • Ford y Toyota son subclases de la clase Carro.

Ahora bien, si tenemos en cuenta la relación es-un, podemos decir:

Observemos que en la herencia, todas las subclases obtienen o heredan todos los métodos y propiedades del padre con excepción de las propiedades privadas de la superclase. En nuestro ejemplo seria lo siguiente: las subclases Ford y Toyota van a tener las propiedades color y motor, y a su vez heredan la función setColor.

La herencia no limita a las subclases a tener sus propias propiedades y métodos. En nuestro ejemplo podemos observar que la subclase Ford posee una nueva propiedad llamada codigoRadio y a su vez la subclase Toyota posee su propio método poseeECOManejo.

Veamos un ejemplo:

Con instanceof podemos asegurar que una clase es de un tipo de clase en especifico.

Observemos que Ford y Toyota es en realidad un Carro con f instanceof Carro y t instanceof Carro respectivamente.

Si ejecutamos el código anterior, obtenemos:

Puesto que tenemos una buena comprensión de la palabra clave extends echemos un vistazo a cómo se utiliza la palabra clave implements para obtener la relación es-un.

La palabra clave implements es utilizado por las clases por heredar de interfaces. Interfaces nunca pueden ser extendidas por las clases.

Veamos un ejemplo:

Observemos que cuando implementamos la interfaz encendidoMotor en la clase MotorCuatroCilindros estamos creando un esquema de métodos los cuales van a hacer implementados de manera diferente al comportamiento que por ejemplo pudiesen tener en la clase MotorOchoCilindros.

Cabe destacar que la interfaces se utilizan para poseer el mismo esquema de métodos pero diferentes implementaciones de los mismos. Así podemos obtener diferentes comportamientos por clase por mas que posean las mismas guías de métodos.

Conclusión

En esta lección, vimos todo lo relacionado a la herencia dentro del mundo de Java. Si tienes alguna pregunta, yo estaré feliz de responderte en los comentarios, además espero que te unas y le eches un vistazo a todo el resto de este curso.

¡Te espero la próxima semana!

Compártela:

Please enable JavaScript to view the comments powered by Disqus.comments powered by


Volver a la Portada de Logo Paperblog