Want to create interactive content? It’s easy in Genially!

Get started free

T4. Abstract vs Interface en Java

Mia Hernández

Created on April 28, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Abstract vs Interface

en Java.

Ramírez Hernández Mía Alejandra

¿Qué es una clase abstracta?

Las clases abstractas son aquellas que por sí mismas no se pueden identificar con algo 'concreto' (no existen como tal en el mundo real), pero sí poseen determinadas características que son comunes en otras clases que pueden ser creadas a partir de ellas.

+INFO

EJEMPLO DE CLASE ABSTRACTA

Clase que hereda

Clase que hereda

Clase main

Funcionamiento

Clase abstracta

¿Qué es una interface en Java?

Es uno de los muchos elementos que este lenguaje proporciona a la hora de escribir código y desarrollar aplicaciones. En concreto, se trata de una especie de plantilla que permite preestablecer el contenido de una o varias clases.

Se trata de una clase que no puede ser implementada por sí misma, sino que otras clases la heredan y la implementan. De este modo, al emplear las interfaces, es posible establecer un conjunto de reglas que otras clases deberán seguir de forma estricta.

+INFO

EJEMPLO DE UNA interface en Java

Diferencias

Clase abstracta vs interface

  • Una interfaz solo describe el comportamiento. No tiene estado.
  • Una sola interfaz puede ser implementada por clases que no tienen absolutamente nada en común.
  • Una clase abstracta incluye estado: describe ambos.
  • Una clase abstracta conecta y une clases que están muy relacionadas.

REFERENCIAS

  • (n.d.). Clases abstractas en programación orientada a objetos. Retrieved April 28, 2024, from https://informaticapc.com/poo/clases-abstractas.php
  • Gamis214/Interfaces-Java: Ejemplo aplicando Interfaces en Java. (n.d.). GitHub. Retrieved April 28, 2024, from https://github.com/Gamis214/Interfaces-Java
  • Gosling, J. (2023, August 21). Qué es una interfaz Java. Becas Santander. Retrieved April 28, 2024, from https://www.santanderopenacademy.com/es/blog/que-es-una-interfaz-en-java.html
  • Nawghare, A. (2023, July 21). La diferencia entre clases abstractas e interfaces. CodeGym. Retrieved April 28, 2024, from https://codegym.cc/es/groups/posts/es.104.la-diferencia-entre-clases-abstractas-e-interfaces-

¡GRACIAS!

¿Qué contiene una interfaz en Java?

una colección de métodos abstractos y propiedades constantes que permiten activar la herencia múltiple

Los métodos, los cuales deberán ser siempre públicos (public), no se implementan en la propia interfaz, sino que tan solo se declaran. Sin embargo, las clases que hereden la interfaz serán las encargadas de implementarla. En este sentido, una interfaz de Java presenta las siguientes características:

  • Puede contener encabezados de métodos y constantes públicas, nunca implementaciones.
  • La clase no puede ser instanciada, tan solo implementada por una clase.
  • No se puede extender.
  • Las interfaces pueden implementar otras interfaces.
  • Una clase puede implementar varias interfaces.
  • Se pueden declarar métodos estáticos (Static).

Ejemplo

clase abstracta llamada Vehículo

  • En el mundo real no existe un objeto 'vehículo' como tal sino que hay diferentes tipos de vehículo, pero aunque poseen características comunes y realizan las mismas acciones lo hacen de forma muy diferente (pudiendo además realizar otras específicas cada uno de ellos).
  • Una clase abstracta no representa algo concreto tampoco puede ser instanciada (no se puede crear un Objeto a partir de ella) pero sí es posible crear otras clases en base a su definición.

Todos ellos realizan acciones similares (arrancar, acelerar, frenar, etc.), pero sin embargo existen muchos tipos de vehículos diferentes y que se comportan de forma totalmente distinta.

  • el proceso de arrancarlos no se realiza siguiendo los mismos pasos.
  • Unos tienen que despegar y vuelan como los aviones, otros se sumergen para desplazarse por debajo del agua como los submarinos.
  • Cada uno de ellos necesita ser frenado de distinto modo.