Thursday, December 25, 2003 02:02 PM
An interface declares methods that specify only what an implementing class is supposed to do - it does not define how it must do it. An abstract class, on the other hand, is a class that typically implements some of the methods, but leaves others as abstract so that subclasses can provide their own implementation.
Usually, abstract classes are used to provide a framework that subclasses can inherent. Subclasses must comply to the framwork by defining the behaviour of the abstract methods. Conversely, interfaces provide no concrete framework.