Object-oriented programming (OOP) focuses on grouping, simplification, streamlining, and standardization. For example, it would seem unreasonable if every time someone traveled between two cities that they would experiment and do it by trial and error. A more reasonable methodology would be to develop maps and identify a standardized shortest route to travel, thereby simplifying the traveling process. However, this type of simplification has not always been obvious and even today we find many instances where it is not used. For example, in manufacturing there are numerous instances in which the same exact part was designed from scratch several times. It has separate drawings, separate part numbers, and is stored in separate places. Until recently, no grouping methodology existed to identify opportunities for part standardization. The grouping process that was finally developed is called group technology and comes from Russia. However, most manufacturers still do not use the technique.
OOP can be found in the modularization and interchangeability of computer hardware. You can open the box of almost any personal computer (PC) and interchangeably replace storage drives, memory, peripherals, and so on. This standardization was driven by competition and by the speed at which the technology has changed, but it has significantly simplified and streamlined the computer hardware updating and servicing process.
OOP has also made its way into management practices. For example, the implementation of change is always traumatic. One of the reasons for this is that no one seems to have a standard, objective measure for the success of the change process. By utilizing tools such as total quality management (TQM) for the standardization of the change process, which incorporates systematic problem solving (SPS), the implementation process becomes grouped and streamlined so that anyone can review the status of a change process.
The term object-oriented programming originally comes from the systems development and computer programming world. After years of programming and systems development, someone realized that there are many repetitive functions. For example, file adds, changes, and deletes occur frequently and during multiple processes. It would seam reasonable that one add-change-delete routine could be developed in a modular form that could be accessed any time an add-change-delete process needed to occur. Developers grouped these functions into accessible and executable modules that became known as objects. Developing programs using objects became known as object-oriented programming (OOP).
OOP significantly reduced the level of confusion between software developers. For example, when multiple developers were working on the same project, they did not need to thoroughly understand each other's code in order to develop their piece of the project. Similarly, in software maintenance, developers did not need to relearn the previous code in order to make changes. Understanding the OOP modules was sufficient to focus the change appropriately.
The design of the OOP process came partially out of a reaction to the slow development time for computer programs, and partly because of the high demand for computer developers. Using object-oriented programming, fewer people can accomplish more.
Operationally, OOP attempts to lead software development away from the abstract and refocus it on real-world objects. Examples of objects that could be the focus of a programming effort would be a user, display screen, and local-area network (LAN), not bits, bytes, and files. These objects become the focus of OOP programming attention.
In OOP the various properties of an object are analyzed. Understanding the properties assists in developing efficient modules. These properties include:
We are in an increasingly complex world. Traditionally, systems did not require interaction much beyond the traditional keyboard, screen, user, and disk drive. Now we have massive networks, servers, firewalls, storage units, intranets, e-mail, e-commerce, electronic data interchange (EDI), and so on. OOP reduces the complexity of these massive systems by reducing them into object interactions. OOP offers:
OOP has allowed some specific features to be developed that have grown out of the benefits of OOP environment. These include:
The benefits of OOP include:
Revised by Wendy H. Mason
Chisholm, Al. "Object-Oriented Programming: a Primer." Control Engineering (February 2004).
Korah, John. Object Oriented Methodology: A Primer. Dearborn, MI: SME Blue Book Series, 1994.
Plenert, Gerhard. World Class Manager. Rocklin, CA: Prima Publishing, 1995.