using System;
//example of interfaces
public class Animals
{
//simple interface
interface IAnimal {
void Breathes();
}
//interfaces can inherent from other interfaces
interface IMammal : IAnimal {
int HairLength();
}
//interfaces can implement other interfaces which implemented interfaces
interface IMarsupial : IMammal {
int PouchSize();
}
//interfaces can implement many other interfaces
interface IGonerMammal : IMammal, IExtinct {
}
interface IExtinct {
int HowLongExtinct();
}
//classes can implement multiple interfaces
public class TasmanianTiger : IGonerMammal, IMarsupial {
public int PouchSize() { return 2; }
public int HowLongExtinct() { return 28; }
public int HairLength() { return 4; }
public void Breathes() { }
}
public static void Main(string[] args) {
Console
.Write("The Tasmanian Tiger has been extinct for {0} years",
new TasmanianTiger
().HowLongExtinct());
}
}
//csharp/4865