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

Entradas populares de este blog

Mapa conceptual conjuntos - Mónica Erazo

Presentación Induccion

Manejo estatico de las variables en memoria