Abstracción

Por abstacto podemos entender como una entidad que no existe en el espacio-tiempo.

Por "Clase Abstracta" vamos a entender como una clase como cualquier otra pero con algunas particularidades de la abstracción:

  • Se utiliza la palabra reservada abstract antes de la palabra class:

  • abstract class MiClase{...}

  • No puede "Instanciarse", es decir no se puede crear objetos de la clase:

  • NO--> ClaseAbstracta objeto = new ClaseAbstracta();

  • Se declaran métodos también abstractos pero estos no se implementan.
  • Puede contener métodos no-abstractos pero al menos uno de los métodos debe ser declarado abstracto.
  • La idea es que se puedan heredar y que sean las clases hijas quienes se encarguen de agregar la funcionalidad a los métodos abstractos.
  • Las clase hija que hereda también puede ser abstracta.

Extends Vs Implements

Las clases abstractas y las interfaces son muy similares, asi que hay que diferenciarlas bien:

Diferencias/Similitudes Clase Abstracta Interfaz
Se utiliza con extends implements
Funcionalidad Heredar Relacionar clases diferentes
Herencia Normal De una SuperInterfaz
Una clase Hereda una sola vez Puede implementar muchas interfaces
Métodos Listos para usar o sobreescribir Obligatoriamente hay que declararlos
Implementación Pueden o no estar implementados NO están implementados
Atributos Normales Deben ser static final

No hay comentarios:

Publicar un comentario