Open In App

C# | Inheritance in interfaces

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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.

Syntax:

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

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

Example 1:

CSharp




// 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 inheriting
// 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();
    }
}


Output: 

Implement method 1
Implement method 2
Implement method 3

 

Example 2:

CSharp




// 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);
    }
}


Output: 

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

 



Last Updated : 15 Sep, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads