Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Dominando las Interfaces en C#: Definición, Implementación y Casos de Uso Prácticos

Interfaces en C# Explicadas

Esta guía te lleva a través de los fundamentos de las interfaces en C#, muestra cómo crearlas e implementarlas, y destaca escenarios del mundo real donde brillan.

¿Qué es una Interfaz en C#?

Una interfaz en C# es un contrato que define un conjunto de métodos, propiedades, eventos o indexadores sin proporcionar ninguna implementación. A diferencia de una clase abstracta, cada miembro de una interfaz es implícitamente abstracto y público. Por eso, las interfaces son ideales para definir capacidades que múltiples clases no relacionadas pueden compartir.

interface IPoligono { void CalcularArea(); }

Implementando una Interfaz

Para usar una interfaz, una clase debe implementarla proporcionando definiciones concretas para todos sus miembros. Se usa la sintaxis de dos puntos (:), igual que en la herencia.

using System; namespace CsharpInterface { interface IPoligono { void CalcularArea(int longitud, int anchura); } class Rectangulo : IPoligono { public void CalcularArea(int longitud, int anchura) { int area = longitud * anchura; Console.WriteLine($"Área del Rectángulo: {area}"); } } class Program { static void Main(string[] args) { Rectangulo rect = new Rectangulo(); rect.CalcularArea(100, 200); } } }

Salida

Área del Rectángulo: 20000

Implementando Múltiples Interfaces

C# permite que una clase implemente varias interfaces simultáneamente, permitiendo la herencia múltiple de tipos.

using System; namespace CsharpInterface { interface IPoligono { void CalcularArea(int a, int b); } interface IColor { void ObtenerColor(); } class Rectangulo : IPoligono, IColor { public void CalcularArea(int a, int b) { int area = a * b; Console.WriteLine($"Área del Rectángulo: {area}"); } public void ObtenerColor() { Console.WriteLine("Rectángulo Rojo"); } } class Program { static void Main(string[] args) { Rectangulo r = new Rectangulo(); r.CalcularArea(100, 200); r.ObtenerColor(); } } }

Salida

Área del Rectángulo: 20000 Rectángulo Rojo

Usando una Referencia de Interfaz

Aunque no puedes instanciar una interfaz directamente, puedes declarar una variable de ese tipo de interfaz y asignarle una instancia de cualquier clase que la implemente. Esta es una herramienta poderosa para lograr polimorfismo.

using System; namespace CsharpInterface { interface IPoligono { void CalcularArea(int longitud, int anchura); } class Rectangulo : IPoligono { public void CalcularArea(int longitud, int anchura) { int area = longitud * anchura; Console.WriteLine($"Área del Rectángulo: {area}"); } } class Program { static void Main(string[] args) { IPoligono poly = new Rectangulo(); poly.CalcularArea(100, 200); } } }

Salida

Área del Rectángulo: 20000

Ejemplo Práctico: Cálculos Polimórficos de Formas

A continuación definimos una interfaz IPoligono y dos formas concretas que la implementan. Cada forma calcula su área independientemente.

using System; namespace CsharpInterface { interface IPoligono { void CalcularArea(); } class Rectangulo : IPoligono { public void CalcularArea() { int longitud = 30; int anchura = 90; int area = longitud * anchura; Console.WriteLine($"Área del Rectángulo: {area}"); } } class Cuadrado : IPoligono { public void CalcularArea() { int lado = 30; int area = lado * lado; Console.WriteLine($"Área del Cuadrado: {area}"); } } class Program { static void Main(string[] args) { Rectangulo rect = new Rectangulo(); rect.CalcularArea(); Cuadrado sq = new Cuadrado(); sq.CalcularArea(); } } }

Salida

Área del Rectángulo: 2700 Área del Cuadrado: 900

¿Por Qué Usar Interfaces en C#?


Lenguaje C

  1. Sensor Inalámbrico Fiable para Entradas Largas – Integración Fácil con Raspberry Pi
  2. Uso de la interfaz de línea de comandos con SPICE
  3. Interfaces en C#: Contratos de diseño para POO robusta
  4. Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
  5. Framework de Colecciones en Java: Interfaces núcleo, implementaciones y uso práctico
  6. Interfaz Collection en Java: Conceptos núcleo y métodos esenciales
  7. Dominando la Interfaz Queue de Java: Métodos, Implementaciones y Uso Práctico
  8. Dominando la Interfaz NavigableSet de Java: Navegación, Ordenación y Ejemplos Prácticos
  9. Dominando Expresiones Lambda en Java: Desde Básicos hasta Stream API
  10. Entendiendo las Interfaces en Java: Definiciones, Usos y Buenas Prácticas
  11. Java 9 Métodos Privados en Interfaces: Mejorar Encapsulamiento y Reutilización de Código