See this SO question for advantages of interfaces What are some advantages to using an interface in C#?
A simple example of an interface might be:
public interface IAnimal
{
void Sleep();
void Run();
void Talk();
}
The interface would then be implemented by a class, that would implement the methods specified in the interface:
public class Dog : IAnimal
{
public void Talk()
{
Console.WriteLine("Ruff!");
}
public void Run()
{
Console.WriteLine("The dog runs after balls and cars.");
}
public void Sleep()
{
Console.WriteLine("ZZZZZZZZZZ");
}
}
And a different class would implement the same methods differently:
public class Cat : IAnimal
{
public void Talk()
{
Console.WriteLine("Meow");
}
public void Run()
{
Console.WriteLine("The cat looks at you and says, 'Yeah, right...'");
}
public void Sleep()
{
Console.WriteLine("All the time - what else does a cat do?");
}
}
These are trivial examples, but should give you an idea.