Yes, that's a common scheme. For example, Java has the
MouseListener interface defining 5 methods, but often users want only one or two of them, so it is annoying to add empty methods. So Sun added the
MouseAdapter abstract class which just does that: creating empty methods, so that user just have to override those they want.
But still MouseAdapter implements the MouseListener interface... So users can choose either.
One problem with abstract classes is that Java allows to extend only one class. So if you want to use MouseAdapter, and thus make your class to extend it, it cannot extend a more significant class. While you can implement as much interfaces as you want.
To apply the idea to a classical class hierarchy, the LivingBeing, Animal, Dog.
Imagine you have a Sentient interface defining listen(), smell(), taste(), touch(), see().
Some creatures can be blind, deaf, etc.
Let say you make the SentientAdapter abstract class, to avoid implementing all methods.
If you make Dog to extend SentientAdapter, it can no longer be an Animal... It breaks the hierarchy.
So adapters can be convenient, but with an impact on the design.
Also, if all the standard methods of radarboy are actually used by the classes in the pool, it still makes sense to implement the interface.