What is the difference between an abstract class and an interface?

A question on class design.

, {0}