Cuando usar una interfaz, una clase abstracta o ambas es cosa de conceptos que generalmente no obtienes cuando aprendes POO mediante un lenguaje.
Te voy a dejar un articulo que te puede ayudar con el concepto:
http://thinkingoo.wordpress.com/2014...s-la-interfaz/
Si entiendes el concepto de interfaz sera sencillo el de clase abstracta. Ya no tengo tiempo el día de hoy, pero si aún tienes dudas comenta y agrego un ejemplo.