OOP principles
OOP is one of the most popular programming paradigms. Many developers use languages based on this programming model such as C++, Java, C#, Smalltalk, Objective-C, and many other. One of the keys to the success of this programming approach is that it promotes a modular design and code reuse—two important features when developing complex software.
However, the OOP paradigm is not based on a formal standard specification. There is not a technical document that defines what OOP is and what it is not. The OOP definition is mainly based on common sense taken from the papers published by early researchers as Kristen Nygaard, Alan Kays, William Cook, and others.
Note
An interesting discussion about various attempts to define OOP can be found online at the following URL:http://c2.com/cgi/wiki?DefinitionsForOo
Anyway, a widely accepted definition to classify a programming language such as Object Oriented is based on two requirements-its capability to model a problem through objects and...