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
Article Tags :