Quantcast

La herencia en Java / Android

Aitor Sánchez - Blog - Nov. 1, 2023, 1:39 p.m.

La herencia, en los lenguajes de programación actuales, incluido Java, es una parte fundamental para entender estos lenguajes como los entendemos hoy en día. Es una de las 3 características más potentes y si te lees todo el artículo hasta el final vas a entender porque es así y lo útil que resulta cuando hacemos programas un poco más complejos.

Mi nombre es Aitor Sánchez, soy desarrollador de apps desde 2014, y en este artículo vas a ver, a entender y a aplicar el concepto de herencia para tus aplicaciones cómo la herencia abuelo, padre e hijo que nos es completamente familiar a todos.

Pero antes de continuar, esta es la Flutter Mafia. Es mi newsletter donde tu vas a aprender a hacer apps y a ganar dinero con ellas junto con otros genietes que ya están dentro. Y si te suscribes te regalo mi ebook "Duplica los ingreso de tus apps en 5 minutos" No es broma, quizás te interese.

Y, ahora si, comenzamos. Let´s go!

 

¿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:

Primero, la clase Coche.

 

Ahora la clase Ferrari que hereda 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.

 

 

 

Algo más que quizás te interese

Mira, en el momento que tu mejoras el logo de una app que tengas publicada en Google Play, las descargas y los ingresos que esta aplicación genera aumentan. Esto es así. Mejor logo es igual a más dinero.

Basándonos en esto, hemos creado esta herramienta que te permite evaluar, optimizar y mejorar los logos de tus apps para que reciban más descargas. No te quiero espoilear, dentro hay un video explicativo. Entra en el enlace.

 

Y hasta aquí el artículo de hoy. Espero haberte ayudado a resolver tus dudas sobre lo que es la herencia y nos vemos en el siguiente artículo. Hasta entonces ¡que te vaya bien!