We consider first the idea of an application framework. A framework is a series of classes that describe a skeleton application. The framework provides the structure, but not the content.
In most frameworks the content is provided by subclassing from classes in the framework library, and overriding key methods.
Because of the use of inheritance and overriding, frameworks make extensive use of polymorphism.
The great savings in using a framework is that the user need specify only what is new or different in a new application, and simply inherit code that is similar to existing applications.