Interface implementation
A type (a class) that implements an interface. For sample:
public interface IOperator { int Operation(int a, int b); } public class SumOperator : IOperator { public int Operation(int a, int b) { return a + b; } } public class DivisionOperator : IOperator { public int Operation(int a, int b) { return a / b; } }
In this case, SumOperator and DivisionOperator are implementations of IOperator interface.
Interface inheritance
The structure of the interfaces (inheriths interfaces)
public interface IOperator { int Operation(int a, int b); } public interface IOppositeOperator : IOperator { int OppositeOperation(int a, int b); } public class SumOppositeOperator : IOppositeOperator { public int Operation(int a, int b) { return a + b; } public int OppositeOperation(int a, int b) { return a - b; } }
In this case, the IOpositeOperator inherits IOperator, so a class which implements the IOpositeOperator should also implements the elements defined in its structure (including IOperator , given it inherits). The concrete type for it is the SumOpositeOperator sample class.