What is Object Oriented Programming (OOP)
OOP: In general Terms
Object-orientation or object oriented programming (OOP) is introduced as a new programming concept which should help one in developing high quality software. Object-orientation is also introduced as a concept which makes developing of projects easier. Object oriented programming attempts to solve the problems with only one approach; dividing the problems in sub-modules and using different objects. Objects of the program interact by sending messages to each other. The drawing below illustrates this clearly -

To understand the actual concept of object orientation and the OOP, we should first be acqiented with the basic concepts of OOP and ought to know the exclusive terms used in this report later. I have included another stanga titled ‘OOP: In Technical Terms’ down below and before going through this I recommend one to first go through the topic ‘Basic Terms in Object Oriented Programming’ (see page) which will help to understand the OOP concept more clearly.
Object oriented programming (OOP), first developed in the 1960s, and reorganizes the programming problem to allow for a higher level of abstraction. Programming with objects is quite like working with real-world objects. It groups operations and data into modular units called objects. These objects can be combined into structured networks to form a complete program, similar to how the pieces in a puzzle fit together to create a picture.
By breaking down complex software projects into small, self-contained, and modular units, object orientation ensures that changes to one part of a software project will not adversely affect other portions of the software. Object orientation also aids software reuse. Once functionality is created in one program, it can easily be reused in other programs.
OOP: In Technical Terms
In contrast to procedural programming focus on the interaction between data and functions, the design of objects and the interactions between those objects become the primary elements of object oriented program design.
Object Oriented programming groups data into classes and operations on those classes. Conceptually, the "same" operation might do different things, depending on the classes of the data it is being applied to. Typically, classes can be defined in terms of other classes (inheritance), so that the data within a particular instance of a class, and the operations applicable to those instances, can be shared between the new class and the classes from which it inherits.
The major mativation factor in the invention of object oriented approach is to salvage some of the flaws encountered in the procedural approach. OOP traets data as a critical element in the program development and does not allow it to flow freely around the sysytem. It ties data more closely to the functions that operate on it and protects it from accidental modification from outside functions. OOP allowes us to decompose a problem into a number of entities called objects and then buildes data and functioons around these entities.
A type of programming in which programmers define not only the data type of a data structure, but also the types of operations (functions) that can be applied to the data structure. In this way, the data structure becomes an object that includes both data and functions. In addition, programmers can create relationships between one object and another. For example, objects can inherit characteristics from other objects.
One of the principal advantages of object-oriented programming techniques over procedural programming techniques is that they enable programmers to create modules that do not need to be changed when a new type of object is added. A programmer can simply create a new object that inherits many of its features from existing objects. This makes object-oriented programs easier to modify.
Page-3