Clases abstractas

Normalmente, los artículos empiezan al revés, primeramente teoría y posteriormente práctica. En este caso, vamos a dar prioridad la práctica, ya que considero que así se entenderá mejor, para posteriormente llegar a la teoría.

Ejemplo clase abstracta en Java

Vamos a ver un ejemplo de clases abstractas con Java:

1. Primeramente, vamos a crear una clase Animal que sea abstracta:

2. Bien, una vez tenemos la clase animal, vamos a crear otra llamada oveja y le vamos a añadir que extienda de la clase abstracta anterior. Una vez extendemos de dicha clase, nos aparece una bombilla que nos indicará que tenemos que implementar estos métodos.

3. Tras pulsar sobre Add unimplemented methods, podemos ver cómo nos implementará (generará) los métodos sonido, comer y saludar, que habíamos definido anteriormente en la clase abstracta Animal.

4. Si ahora por ejemplo definimos las un atributo patas para el objeto oveja y generamos los métodos. El resultante sería similar al siguiente:

5. Finalmente, solo nos falta crear la clase Main para testear su funcionamiento.

Resultado:

Si creamos ahora, otra clase, y extendemos de la clase animal, también nos obligará a implementar los métodos.

¿Qué son las clases abstractas?

Las clases abstractas son un tipo de clase especiales, que también suelen ser conocidas bajo el concepto de “superclase” o clase padre. Se utilizan como base para acoplar sus métodos a otra clase que suele ser conocida como “subclase” o clase hija.

Estos métodos destacar por no tener cuerpo en la clase abstracta y al implementar dicha clase abstracta sobre una clase, esta sí que heredará sus métodos esta vez con cuerpo.

También, heredan sus atributos si los hay (aunque estos no hacen falta implementarlos). Por tanto, la clase que extiende heredará un conjunto de directivas (métodos y atributos) de la clase abstracta. De este conjunto de métodos y atributos, la clase que extiende de la clase abstracta, deberá implementar obligatoriamente todos sus métodos.

Características de las clases abstractas

Algunas características de las clases abstractas son:

  • Una clase abstracta debe ser declarada con la palabra clave abstract.
  • Una clase abstracta no puede ser instanciada.
  • Los métodos pueden ser finals.
  • Puede tener constructor y métodos estáticos también.
  • No puede tener métodos no abstractos, por lo que suele contener métodos abstractos sin cuerpo, como por ejemplo: abstract void sonido();
  • Si heredamos de una clase abstracta con extends, es obligatorio heredar sus métodos.
  • Las clases solo pueden extender una sola clase abstracta.

Uso de clases abstractas

Normalmente, las clases abstractas se suelen usar para declarar un conjunto de métodos que heredará obligatoriamente la clase que extienda a la clase abstracta. El principal beneficio que otorga esto, es que es reutilizable para otras clases y que se puede acoplar un conjunto o “lista” de métodos a una clase de forma muy sencilla.

4 comentarios

  1. I am regular reader, how are you everybody? This paragraph
    posted at this web site is truly pleasant.

  2. Your method of explaining the whole thing in this paragraph is genuinely good, all be capable of without difficulty know it, Thanks a lot.

  3. Hi there! Do you know if they make any plugins to protect against
    hackers? I’m kinda paranoid about losing everything I’ve worked
    hard on. Any recommendations?

  4. Great post. I was checking continuously this blog and I’m impressed!
    Extremely helpful information particularly the last part :
    ) I care for such information much. I was seeking this certain information for a long time.
    Thank you and best of luck. scoliosis surgery https://0401mm.tumblr.com/ scoliosis surgery

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

La Ley 34/2002 nos obliga a avisarte de que usamos cookies propias y de terceros con objetivos estadísticos y de sesión y para mostrarte la 'publi' que nos da de comer. Tranquilo, este mensaje solo sale una vez. Más información

Java desde 0 comunica a los usuarios, a través de este aviso, que puede utilizar cookies cuando el usuario navega por las diferentes pantallas y páginas del sitio. Durante el uso de nuestra página Web usted acepta y autoriza expresamente el uso de cookies, de acuerdo con nuestra Política de Privacidad. Este sitio web utiliza las siguientes cookies propias: - Cookies de sesión, para garantizar que los usuarios que escriban comentarios en el blog sean humanos y no aplicaciones automatizadas. De esta forma se combate el spam. Este sitio web utiliza las siguientes cookies de terceros: - Google AdManager y AdSense: Utiliza cookies para mejorar la publicidad. Entre otros fines, suelen utilizarse para segmentarla según el contenido que sea relevante para los usuarios o su ubicación, mejorar los informes de rendimiento de las campañas y evitar mostrar anuncios que los usuarios ya hayan visto. Las cookies no contienen información personal identificable. Consulta cómo utiliza Google la información de sitios web o aplicaciones. y cómo bloquear determinados anuncios. - Google Analytics: Almacena cookies para poder elaborar estadísticas sobre el tráfico y volumen de visitas de esta web. Al utilizar este sitio web está consintiendo el tratamiento de información acerca de usted por Google. Por tanto, el ejercicio de cualquier derecho en este sentido deberá hacerlo comunicando directamente con Google. - Redes sociales: Cada red social utiliza sus propias cookies para que usted pueda pinchar en botones del tipo Me gusta o Compartir.

Cerrar