clases abstractas, estáticas e interfaces
Bienvenido a esta nueva entrada, que relaciona las clases abstractas, estáticas e interfaces que incluye un cuadro comparativo.
Clases
abstractas |
Clases
estáticas |
Clases
interfaces |
Pueden
definir la existencia de métodos, pero sin su implementación, es decir, no
tiene código. Las
clases abstractas se crean escribiendo solo la declaración del método, sin
cuerpo y utilizando tradicionalmente la palabra reservada abstract.
Este tipo de clases no pueden ser instancias. El
objetivo de las clases abstractas es servir de base para otras clases,
es decir, crear subclases, permitiendo así tener una implementación
específica de los métodos Al
heredar de una clase abstracta es obligatorio implementar todos sus métodos
abstractos. |
Permite
la invocación de sus atributos y métodos sin
instancia u objeto alguno. Las
clases estáticas se utilizan cuando no se requiere almacenar
información, es decir, los datos pueden ser genéricos o constantes en
todos los procesos del software, como puede ser el nombre de la base de datos
del sistema. Una
clase estática no requiere instanciación, en el caso de C#, no
tiene constructor y en otros lenguajes de programación, una clase
estática está formada por atributos y métodos estáticos. Nota
aclaratoria: En el caso de Java, se omite la
palabra static al definir la clase, pero el resto del código y su
funcionamiento permanece igual, como se evidencia en la siguiente imagen. Para
el caso de Python, se utiliza @staticmethod |
Es
una clase formada exclusivamente por métodos públicos abstractos
y su funcionalidad es establecer el funcionamiento de los métodos de una
clase, es decir, sólo se definen argumentos y tipo de retorno. Una
interfaz no se instancia y
debe ser implementada en una clase. Se considera como una lista
de acciones que debe implementar una clase. |
Comentarios
Publicar un comentario