Abstract Class
- with keyword Abstract in the class Contain both abstract and non abstract methods. Abstract methods does not contain implementaion in base classs only contains method name with parameters with keyword abstract in the methods. Non Abstract methods contain implementation in the base Class itself.
- Abstract method should be override in the derived class by defining it.
- A class can be inherited from only one abstract class.
- Abstract class can't able to instantiate. It can be accessed through derived class objects.
- Abstract class have access specifiers for Function/Properties/Methods
Interface
- Interface is not a class it is a Entity defined by interfaces. Methods defined inside interface does not contain implementation only method name with parameter. Classes which inherited interfaces all methods defined will get Implemented in the base class.
- A class can have more than One Interfaces . It supports multiple inheritance.(C# does not support multiple inheritance.)
- Interface does not contain Access Specifier for Function/Properties/Methods default as Public.