Çok basit bir kitap örneğidir. İnterface dediğin için böyle bir örnek yaptım. Taviyeyem SuperType ile yapılmasıdır (Yani interface değil de class lar birbirinden kalıtım alarak yapılması)
interface ICalisan
{
int Id { get; set; }
string Ad { get; set; }
string Soyad { get; set; }
DateTime DogunTarihi { get; set; }
}
interface IMudur : ICalisan
{
List<ICalisan> Calisanlar();
}
interface IGenelMudur: IMudur
{
List<IMudur> Mudurler();
}
class GenelMudur:IGenelMudur
{
public int Id { get; set; }
public string Ad { get; set; }
public string Soyad { get; set; }
public DateTime DogunTarihi { get; set; }
public List<ICalisan> Calisanlar()
{
throw new NotImplementedException();
}
public List<IMudur> Mudurler()
{
throw new NotImplementedException();
}
}