One of the basic methods of object-oriented software development is abstraction, what is abstraction?
Abstract is to draw out the common and essential characteristics from many things, and abandon its non-essential characteristics.
such as apples, bananas, pears, grapes, peaches, and so on, their common characteristic is fruit. The process of drawing fruit concept is an abstract process.
To be abstract, comparisons must be made and no common parts can be found without comparison.
Common characteristics are those features that distinguish a kind of thing from his class, and these distinguishing features are also called essential features.
So the common feature of extracting things is to extract the essential characteristics of things and discard different features.
The so-called common characteristics, is relative, refers to from a certain facet to see is common.
For example, for cars and rice, from the point of view of buying and selling is a commodity, there are prices, which is their common characteristics, and from other aspects of comparison, they are different.
Abstract, is stable, is eternal. The opposite of abstraction is concrete. People tend to say, "You speak too abstract, can you tell me the specific point?"
In the development language, there are abstract classes, concrete classes, concrete classes can inherit from the abstract class, can be instantiated. Abstract classes can derive from a multitude of different concrete classes.
The system is stable by abstraction and vivid by abstraction.
An understanding of abstract and concrete classes in object-oriented