To answer your question, yes you could use an abstract class (providing no implementation) instead of an interface but I'd consider this bad practice:
- You've used up your "one-shot" at inheritance (without gaining any benefit).
- You cannot inherit from multiple abstract classes but you can implement multiple interfaces.
I would advocate the use of abstract classes more in situations where you wish to provide a partial implementation of a class, possibly delegating some behavior to concrete subclass implementations.