Hii
1 An abstract class may contain complete or incomplete methods. Interfaces can contain only the signature of a method but no body. Thus an abstract class can implement methods but an interface can not implement methods.
2 An abstract class can contain fields, constructors, or destructors and implement properties. An interface can not contain fields, constructors, or destructors and it has only the property's signature but no implementation.
3 An abstract class cannot support multiple inheritance, but an interface can support multiple inheritance. Thus a class may inherit several interfaces but only one abstract class.
4 A class implementing an interface has to implement all the methods of the interface, but the same is not required in the case of an abstract Class.
5 Various access modifiers such as abstract, Protected, internal, public, virtual, etc. are useful in abstract Classes but not in interfaces.
6Abstract classes are faster than interfaces
EX: //Abstarct Class
public abstract class Vehicles
{
private int noOfWheel;
private string color;
public abstract string Engine
{
get;
set;
}
public abstract void Accelerator();
}
//Interface
public interface Vehicles
{
string Engine
{
get;
set;
}
void Accelerator();
}