Advantages of object oriented approach over procedure oriented approach: 1. In object oriented approach, through inheritance we can eliminate redundant code and extend the use of existing classes. 2. We can build programs from the standard working modules that communicate with one another, rather than having to start writing the code from scratch. This leads to saving of development time and higher productivity. 3. The principle of data hiding helps the programmer to build secure programs that cannot be invaded by code in other parts of the program. 4. It is possible to have multiple instances of an object to coexist without any interference. 5. It is possible to map objects in the problem domain to those in the program. 6. It is easy to partition the work in a project based on objects. 7. The data centered design approach enables us to capture more details of a model in implementable form. 8. Object oriented systems can be easily upgraded from small to large systems. 9. Massage passing techniques for communication between objects makes the interface descriptions with external systems much simpler. 10. In OOP software complexity can be easily managed.