Hiding the implementation from client is called as encapsulation. There are numerous ways of encapsulation in C# and Dotnet. Best example will be a webservice where the client only gets to see the method signature but will never get to know about underlying implementation.