Junior
¿Qué es la abstracción en programación?
sobes.tech AI
Respuesta de la IA
La abstracción es un mecanismo que permite ocultar los detalles de implementación y proporcionar una representación general del sistema o sus componentes. Se centra en "qué" hace un objeto, y no en "cómo" lo hace.
En C#, la abstracción se implementa a través de:
- Clases abstractas: Pueden contener métodos abstractos (sin implementación) y miembros normales. No se puede crear una instancia de una clase abstracta.
// Clase abstracta con método abstracto public abstract class Shape { public abstract double GetArea(); // Método abstracto public string Name { get; set; } public void DisplayInfo() // Método normal { Console.WriteLine($"Forma: {Name}"); } } - Interfaces: Definen un contrato que debe implementar una clase. Solo contienen declaraciones de métodos, propiedades, eventos e indexadores (hasta C# 8), o pueden contener una implementación por defecto (desde C# 8).
// Interfaz public interface IDrawable { void Draw(); // Método sin implementación }
Principios de abstracción:
- Encapsulación: Unión de datos y métodos que operan sobre esos datos en un solo bloque. Favorece la ocultación de la estructura interna.
- Herencia: Permite crear nuevas clases basadas en existentes, heredando sus propiedades y métodos, y añadiendo o redefiniendo funcionalidades.
Aplicación de la abstracción:
- Simplificación de sistemas complejos.
- Aumento de la flexibilidad del código.
- Mejora del mantenimiento.
- Creación de componentes reutilizables.