When to use Interface over abstract class?

Total Post:309

Points:1545

OOPS 
 4017  View(s)
Ratings:
Rate this:
  1. When to use Interface over abstract class?

    Abstract Classes: Classes which cannot be instantiated. This means one cannot make a object of this class or in other way cannot create object by saying ClassAbs abs = new ClassAbs(); where ClassAbs is abstract class.
    Abstract classes contains have one or more abstarct methods, ie method body only no implementation.
    Interfaces: These are same as abstract classes only difference is we can only define method definition and no implementation.
    When to use wot depends on various reasons. One being design choice.
    One reason for using abstarct classes is we can code common
    functionality and force our developer to use it. I can have a complete
    class but I can still mark the class as abstract.
    Developing by interface helps in object based communication.

Answer