If you anticipate creating multiple versions of your component, create an abstract class. Abstract classes provide a simple and easy way to version your components. By updating the base class, all inheriting classes are automatically updated with the change.
Interfaces, on the other hand, cannot be changed once created. If a new version of an interface is required, you must create a whole new interface.
If you are designing small, concise bits of functionality, use interfaces.
If you are designing large functional units, use an abstract class.
If you want to provide common, implemented functionality among all implementations of your component, use an abstract class. Abstract classes allow you to partially implement your class, whereas interfaces contain no implementation for any members.
Please Mark as answer
if this post redirects you to your answerKasani007, if this helps please login to Mark As Answer. | Alert Moderator