C# | Inheritance in interfaces

C# allows the user to inherit one interface into another interface. When a class implements the inherited interface then it must provide the implementation of all the members that are defined within the interface inheritance chain.

Important Points:

  • If a class implements an interface, then it is necessary to implement all the method that defined by that interface including the base interface methods. Otherwise, the compiler throws an error.
  • If both derived interface and base interface declares the same member then the base interface member name is hidden by the derived interface member name.

Synatx:

// declaring an interface
access_modifier interface interface_name 
{
   // Your code
}

// inheriting the interface
access_modifier interface interface_name : interface_name
{
    // Your code
}

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the concept
// of inheritance in interface
using System;
  
// declaring an interface
public interface A {
      
    // method of interface
    void mymethod1();
    void mymethod2();
}
  
// The methods of interface A 
// is inherited into interface B
public interface B : A {
      
    // method of interface B
    void mymethod3();
}
  
  
// Below class is inherting
// only interface B
// This class must 
// implement both interfaces
class Geeks : B
{
      
    // implementing the method
    // of interface A
    public void mymethod1()
    {
        Console.WriteLine("Implement method 1");
    }
      
    // Implement the method 
    // of interface A
    public void mymethod2()
    {
        Console.WriteLine("Implement method 2");
    }
      
    // Implement the method
    // of interface B
    public void mymethod3()
    {
        Console.WriteLine("Implement method 3");
    }
}
  
// Driver Class
class GFG {
  
    // Main method
    static void Main(String []args)
    {
          
        // creating the object
        // class of Geeks
        Geeks obj = new Geeks();
          
        // calling the method 
        // using object 'obj'
        obj.mymethod1();
        obj.mymethod2();
        obj.mymethod3();
    }
}

chevron_right


Output:

Implement method 1
Implement method 2
Implement method 3

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the concept
// of inheritance in the interface
using System;
  
// declaring an interface
public interface Votes 
{
      
    // method of interface 
    void vote_no(int a);
}
  
// The methods of interface Votes
// is inherited into interface Details
public interface Details : Votes 
{
      
    // method of interface Details
    void detailsofauthor(string n, int p);
}
  
// Below class is inheriting 
// the interface Details
// This class must implement 
// the methods of both interface
// i.e. Votes and Details
class TechinalScriptWriter : Details 
{
  
    // implementing the method 
    // of interface Votes
    public void vote_no(int a)
    {
        Console.WriteLine("Total number of votes is: {0}", a);
    }
      
    // implementing the method 
    // of interface Details 
    public void detailsofauthor(string n, int p)
    {
        Console.WriteLine("Name of the author is: {0}", n);
          
        Console.WriteLine("Total number of published"
                                " article is: {0}", p);
    }
}
  
// Driver Class
class GFG {
  
    // Main method
    static void Main()
    {
  
        // Creating the objects of 
        // TechinalScriptWriter class
        TechinalScriptWriter obj = new TechinalScriptWriter();
          
        // calling the methods by passing
        // the required values
        obj.vote_no(470045);
        obj.detailsofauthor("Siya", 98);
    }
}

chevron_right


Output:

Total number of votes is: 470045
Name of the author is: Siya
Total number of published article is: 98


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.