Decision support and office automation systems etc.
Benefits of OOP:
It is easy to model a real system as real objects are represented by programming objects in OOP. The objects are processed by their member data and functions. It is easy to analyze the user requirements.
With the help of inheritance, we can reuse the existing class to derive a new class such that the redundant code is eliminated and the use of existing class is extended. This saves time and cost of program.
In OOP, data can be made private to a class such that only member functions of the class can access the data. This principle of data hiding helps the programmer to build a secure program that can not be invaded by code in other part of the program.
With the help of polymorphism, the same function or same operator can be used for different purposes. This helps to manage software complexity easily.
Large problems can be reduced to smaller and more manageable problems. It is easy to partition the work in a project based on objects.
It is possible to have multiple instances of an object to co-exist without any interference i.e. each object has its own separate member data and function.