Saltar al contenido

La herencia en Java / Android

La herencia en Java

Buenos días Lector, en el capítulo de hoy empezamos con el Curso de Android, que es algo que estaba deseando de hacer. Porqué es mi primer lenguaje, el que más domino y el que más me gusta de todos (o casi 🙂 En este artículo hablaremos un poco de la que quizás sea la parte más potente de la programación orientada a objetos, la Herencia.

Voy a hacer un inciso: Yo cuando comencé a trabajar de programador, en la primera empresa en la que estuve (no la voy a mentar por motivos obvios) tuve un problema, me despidieron. Sí, sí, me despidieron por no conocer “usar” algo tan simple/potente como esto. También hay que decir, pocos meses después pedí una re-incorporación, y tras un par de pruebas, volví a ser admitido.

Antes de entrar en materia me gustaría, que si estás interesado en programar (si estás aquí es porque esa respuesta es afirmativa) te pasaras por el “círculo”, una red que estoy montando alrededor de esta profesión en habla hispana, aquí tienes los detalles.

 

¿Qué es la herencia?

La herencia es una característica de la programación orientada a objetos, que como hemos comentado antes, es quizás una de las más potentes.

Esta característica nos permite la reutilización de código a un nivel muy grande. Esto se traduce en mayor ahorro de tiempos, estandarización y abstracción de código, más legibilidad sobre este y hacer mucho más sencillo el posterior mantenimiento de la aplicación.

En palabras coloquiales: Mejora mucho nuestro nivel de programación si se implementa bien.

 

¿Cómo se usa la herencia?

El funcionamiento es muy simple, nos permite usar funciones y campos de la clase padre. En este caso concreto java/Android usando la palabra reservada “extends” segundo del nombre de la clase heredaremos todos los parámetros, funciones, subclases, etc… que tenga la clase padre.

Inciso: Los constructores de clase pueden ser utilizando, pero no son heredados. Así evitamos instanciaciones erróneas.

Para que el código del constructor de la clase padre se ejecute, tenemos que usar la función reservada “super()”. Tendremos que pasarle los parámetros necesarios que pide el constructor de la clase padre en caso de querer utilizarlo.

Veamos un ejemplo sencillo:

La herencia en java
Aquí podemos ver un ejemplo de la herencia en Java / Android
herencia de una clase sobre otra
Aquí podemos ver como hereda la clase Ferrari de la clase Coche.

Como hemos podido ver en el ejemplo, el uso de la palabra reservada “this”, aparte de usarlo para llamar a los campos/funciones de nuestra clase, también sirve para llamar a las de nuestra clase Padre.

Modificadores de acceso, ¿Cuáles son en Android/Java?

En este lenguaje, como en la mayoría (salvo contadas excepciones), tenemos 3 tipos de modificadores de acceso. Aquí los vamos a ver por encima, pero en un futuro le dedicaré un artículo completo a este punto.

  • public
  • protected
  • private

“Public”: Hacer que todas las funciones/campos que lo incluyan puedan ser usados desde cualquier instancia del objeto.

“Protected”: Campos/funciones que lo incluyan solo podrán ser usados si extiendes/heredas de esta clase. Muy importante para la característica de la que estamos hablando.

“Private”: Los campos o las funciones que cuenten con este modificador de acceso, no podrás ser usadas/leídas/modificadas desde fuera de la clase.

 

Os dejo un pequeó vídeo por si queréis profundizar un poco en esta característica, es de mi amigo Juan. Un experto del que muchos «hemos» aprendido.

 

Pues hasta aquí llega la explicación, antes de despedirme permite que te recuerde lo del círculo, que su inscripción es gratuita y estarás expuesto a información privilegiada que solo tendrán los usuarios suscritos a él.

 

Un saludo y nos vemos en el siguiente artículo.