a class implements a interface is saying that: "i can do everything wrote in this interface, use me if you want these methods to be done"
if a class exneds a abstract class, it is saying that: "i have all things in this class",but not meaning you can trust it to do what the base class can do