you need the interface; you may or may not need the abstract class.
in general, if you can provide some useful behavior in a base class, then provide a base class; if the base class is not complete by itself then make it abstract (MustInherit in VB parlance)
otherwise, the interface is sufficient