Question:
Abstraction in object oriented systems
Many people view the four foundational elements of object-orientation as abstraction, encapsulation, inheritance, and polymorphism. There is a certain purity in being minimal. Various language designers have emphasized these four elements differently. In some object-oriented languages these four have been minimized to three. Of these four, if you could de-emphasize one, i.e. you felt it was essential to what object-orientation is all about, which would it be? And why? Justify your line of reasoning.
(Add a personal conclusion, minimum length of 500 - 750 words, please do not copy /paste entire content from the web).