Tag: abstraction and encapsulation in c#