Programa C# para implementar una interfaz en una estructura

Estructuraes un tipo de valor y una colección de variables de diferentes tipos de datos bajo una sola unidad. Es casi similar a una clase porque ambos son tipos de datos definidos por el usuario y ambos contienen muchos tipos de datos diferentes. Podemos crear una estructura usando la palabra clave struct. Una estructura también puede contener constructores, constantes, campos, métodos, propiedades, indexadores y eventos, etc. 

Sintaxis:

public struct 
{
    // Fields
    // Methods
}

La interfaz es como una clase, también puede tener métodos, propiedades, eventos e indexadores como miembros. Pero las interfaces solo pueden tener la declaración de los miembros. La implementación de los miembros de la interfaz estará dada por la clase que implementa la interfaz implícita o explícitamente. O podemos decir que es el modelo de la clase.

Sintaxis :

interface interface_name
{
    // Method Declaration in interface
}

Ahora que tenemos dos interfaces, ahora nuestra tarea es implementar ambas interfaces en una estructura.

Acercarse:

  • Cree dos interfaces llamadas interface1 e interface2 con declaración de método en ellas.
  • Cree una estructura que implemente estas interfaces.
struct GFG : interface1, interface2
{
    // Method definition for interface method
    // Method definition for interface method
}
  • Escriba las definiciones de métodos para ambas interfaces en la estructura GFG.
  • Dentro del método principal, cree los dos objetos llamados M1 y M2.
  • Llame a los métodos de interface1 e interface2 usando el objeto M1 y M2 y muestre la salida.

Ejemplo:

C#

// C# program to illustrate how to implement
// interface in a structure
using System;
 
// Interface 1
interface interface1
{
     
    // Declaration of Method
    void MyMethod1();
}
 
// Interface 2
interface interface2
{
     
    // Declaration of Method
    void MyMethod2();
}
 
// Structure which implement interface1
// and interface2
struct GFG : interface1, interface2
{
     
    // Method definitions of interface 1
    void interface1.MyMethod1()
    {
        Console.WriteLine("interface1.Method() is called");
    }
     
    // Method definitions of interface 2
    void interface2.MyMethod2()
    {
        Console.WriteLine("interface2.Method() is called");
    }
}
 
class Geeks{
 
// Driver code   
public static void Main(String[] args)
{
     
    // Declare interfaces
    interface1 M1;
    interface2 M2;
     
    // Create objects
    M1 = new GFG();
    M2 = new GFG();
     
    M1.MyMethod1();
    M2.MyMethod2();
}
}

Producción:

interface1.Method() is called
interface2.Method() is called

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *