Abstract
abstract
podría pensarse que también es un modificador de acceso, pero no es así, ya que no modifica la posibilidad de acceso sino que es más similar a una interfaz la cual tiene un "contrato" y este tipo de clases tiene una seríe de normas más estrictas:
- Una clase abstracta no puede ser directamente instanciada, por el contrario tiene que ser utilizada mediante la herencia de dicha clase.
- La clase abstracta no puede ser accedida directamente por las clases hijas, son estas las que tienen que aportar la funcionalidad.