Abstraction
Abstraction is the process where relevant data is shown by hiding irrelevant or unnecessary information. For example, if you purchase a mobile phone, you'd not be interested in the process of how your message is delivered or how your call connects another number, but you'd be interested to know that whenever you press the call button on your phone, it should connect your call. In this example, we hide those features that do not interest the user and provide those features that interest the user. This process is called abstraction.
Implementing abstraction
In C#, abstraction can be implemented with the use of:
Abstract class
Abstract class is half-defined that means it provides a way to override members to its child classes. We should use base classes in the project where we need have a need same member to all its child classes with own implementations or want to override. For an example if we have an abstract class Car with an abstract method color and have child classes HondCar...