Cargando



Clases abstractas en Java

En este tutorial veremos en qué consisten las clases abstractas y un poco más de su justificación en el diseño y desarrollo de aplicaciones.


sep 19 2014 04:56
Intermedio
sep 19 2014 17:16
La forma de trabajo en Java nos permite reutilizar mucho código gracias a la herencia, para ello el diseño de nuestras clases siempre debe partir de lo general a lo más específico, así con cada sub-clase que se cree puede venir cargada de métodos de sus clases padre que pueden utilizar en sus objetos.

Clases abstractas
Por este tipo de diseño es que tenemos las clases abstractas, que son pensadas para ser las clases padre de las cuales no se pueden obtener instancias, sino que simplemente sirven como base para las clases más específicas, con ello nos aseguramos de incluir una sola vez todos los métodos que podemos compartir y en las clases hijas las características únicas de las mismas.

Definición


Las clases abstractas como habíamos mencionado no pueden ser instanciadas, ya que su función es proveer una base general para otras clases, es por ello que dentro deben llevar lo que se llama métodos abstractos, que son métodos que no pueden ser utilizados directamente desde la clase abstracta si no que deber ser utilizado a través de las sub-clases.

Construir clase abstracta
Para construir una clase abstracta basta con utilizar la palabra reservada abstract en el momento de su definición, con ello ya Java sabrá que esa clase no podrá ser instanciada, esta misma palabra nos sirve también cuando creamos métodos abstractos, con ello obligaremos a las clases hija que quieran utilizarlos a re-definirlos.


Veamos en la siguiente imagen una pequeña definición de una clase abstracta:

java_clases_abstractas.jpg


Este sencillo ejemplo nos ofrece unas lecturas interesantes, primero vemos que en la propia definición de clase hemos colocado la palabra reservada abstract, luego hemos definido las características más generales del objeto, es decir, cosas con las que no se pueda definir aún que es realmente, luego construimos uno de los constructores, en este caso uno que inicializa el atributo fechaCreacion.

Al avanzar un poco más en la lectura de la clase, vemos los llamados métodos abstractos, como podemos notar no están definidos, simplemente indican que tipo de dato deben retornar y su nombre, es por ello que no podemos utilizarlos directamente.

Consideraciones adicionales de las clases abstractas


Un método abstracto no puede estar en una clase que no lo sea, es por ello que cuando heredamos de una clase abstracta debemos implementar y sobrescribir los métodos abstractos, de lo contrario tendremos una clase no funcional.

Definir constructores
A pesar que no podemos instanciar una clase abstracta, si podemos definir sus constructores, esto con el objetivo de poder llamarlos desde las sub-clases generando así más funcionalidades con menor código escrito.


A pesar que necesitamos de una clase abstracta para poder contener métodos abstractos, no es necesario que una clase abstracta los tenga, es por ello que podemos generar una clase de este estilo sin métodos abstractos para utilizarla como base de otras clases.

Con esto finalizamos este tutorial de Java, a pesar de que estos conceptos se puedan ver muy densos o complejos a simple vista, la abstracción de clases es clave para la creación de programas más eficientes y mejor construidos.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X