Hi,
Since this is a design related question, I'd think talk about one specific such
pattern which deals with both Abstract classes and Interfaces requires mention. I'm indeed talking about the Strategy Design Pattern!
According to this pattern:-
All common functionality is segregating all common functionality in a hierarchy higher up to an Abstract class and then make the individual classes implement Interfaces for adding independent functionality. An example for this in real world are Vehicles. E.g. Bus, Plane, Ship e.t.c. The common functionality is implemented in the super Abstract class with the differences by implementing Interfaces.
Hope this is helpful. Any comments on this is welcome.
Cheers,
Raj.