Register now or log in to join your professional community.
Check this code and reply if you got the answer:
interface Iperson
{ int Subscribe();
}
class Program
{ static void Main(string[] args)
{ List pl = new List();
Iperson person1 = new Customer();
Iperson person2 = new Employee();
pl.Add(person1);
pl.Add(person2);
foreach (Iperson i in pl)
Console.WriteLine( i.Subscribe());
Console.Read();
}
}
class Customer : Iperson
{
public int Subscriber { get; private set; }
public int Subscribe()
{
Subscriber =0;
return Subscriber;
}
}
class Employee : Iperson
{
public int Subscriber { get; private set; }
public int Subscribe()
{
Subscriber =1;
return Subscriber;
}
}
Interfaces don't support implementation, so you cannot supply any default implementations as you can with abstract classes. Additionally, interfaces are not restricted to hierarchies, so they are more flexible than abstract classes.