I believe OOPS is rather a philosophy-the way human cognition perceives this world.And this knowledge is applied in programming to make things easier (to reduce complexity..they say!).A programming language that provides necessary construct so that these basic guidelines of OOPS can be implemented is said to be an Object Oriented Programming Language.
Nowadays, Am I losing that spirit about about OOPS which I had nurtured for years!?Might be... because the much business oriented Indian IT MNC culture has taken out much of my spirit were everything is about Profit and Loss, Resource Allocation ... contrary to the glossy ads they give in Times Ascend about Quality and Innovation.
"An abstraction denotes the essential characteristics of an object that distinguish it from all other kinds of object and thus provide crisply defined conceptual boundaries, relative to the perspective of the viewer."
Above is a precise definition given by Booch.
How I felt was...Abstraction is about our perception of something -guided by our own purpose or need.I remember somebody explained it as follows
To an artist once palm is all about aesthetics;he is concerned about keeping it's proportions in painting.But the same palm for an orthopedician who wants to have a surgery on it is perceived differently-that he sees bones and joints.
Also Abstraction is something 'God' has filled in universe(or in human mind?) that made things a lot easier-ie, irrespective of the internal complexities u can accomplish a particular functionality.It is like a driver has to apply brakes(push) to stop an ambassador car which is the same he has to do in Mercedes Benz or Ferrari to stop it,irrespective of the different breaking mechanisms each of these possesses.Abstraction comes in the form of a pedal -'A pedal Push'! Same with steering! u act always similarly having little concern over whether it is a power steering or not!
U have to turn on the Switch labelled 'LIGHTS' in the conference room.last week it was an incandescent bulb.now it has been replaced with a Fluorescent lamp but you don't bother about these-ur finger operates in the same way.Here U see abstraction.
Abstraction is omnipresent.you can c it everywhere....I never cared abt whether my company buildings are painted in blue or yellow!It was irrelevant (to me).But later I hav seen the painter fired for the wrong mix of colors while painting them(much relevant for him).I just cared compensation(?) and technology....I just looked into the essentials.....!
Its getting pretty late.Time for a coffee& Cigarette. This week, I will add more here..... Interfaces!Encapsulation...!