Making Common Behaviour Abstract
Let us define abstraction "Abstraction means to focus on the necessary, inherent aspects of an entity and ignoring its accidental features". Or we can say, if a set of operations and/or attributes seem to be repeated in two classes. There is a chance of applying inheritance. It is possible that two classes are really specialised variations of something when viewed at a higher level of abstraction.
When general behaviour has been recognised, a common super class can be created which implements the shared features, leaving only specialised features in subclasses. This transformation of the object model is known as abstracting out a common super class or common behaviour. Generally, the resulting super class is abstract, meaning that there are no direct instances of it, but behaviour it defines belongs to all instances of its subclasses. Such as, again we take a draw operation of any geometric figure on display screen requires setup and rendering of geometry. The rendering varies between different figures, such as circles, , spines and lines, but the setup, such as setting the colour, line thickness and other parameters, can be inherited directly by all figure classes from abstract class figure.
The creation of abstract super classes also enhances the extensibility of software product, by keeping space for further addition on base of abstract class