The idea behind object-oriented programming (OOP) is that a computer program is seen as a collection of individual units (objects) that act on each other. The traditional view of programming is that a program is seen as a collection of functions or procedures, or as a list of instructions to the computer.
In object-oriented programming, each object can receive messages or send messages to other objects. It is more flexible, easier to learn and simpler to maintain. It lends itself to more direct analysis, coding and understanding of complex situations and procedures than other programming methods. Translation from real- world objects is eased because there is direct mapping from the real world to the object-oriented program. Programmers define not only the data type of a data structure, but also the functions that can be applied to the data structure. This data structure then becomes an “object” that includes data and functions. This system enables programmers to create modules that do not need to be changed when a new type of object is added. Thus, the program is easier to modify.
A programming language that is object oriented must be used. Java, C++ and Smalltalk are three of the most popular languages, and Pascal also has an object- oriented version.
The underlying concepts behind object-oriented programming must be understood before they can be translated into code. The fundamental concepts include:
- Class – A class is a blueprint or prototype that defines the variables and the methods common to all objects of a certain kind.
- Object – An object is a software bundle of related variables and methods. Software objects are often used to model real-world objects you find in everyday life.
- Message – Software objects interact and communicate with each other using messages.
- Inheritance – A class inherits state and behavior from its super class. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs.
- Interface – An interface is a contract in the form of a collection of method. When a class implements an interface, it promises to implement all of the methods declared in that interface.
- Abstraction – The ability of a program to ignore the details of an object’s class and work at a more generic level when appropriate.
In summary, the “object” of object-oriented programming appears to be a more flexible, easily changeable language that is widely popular in large-scale software engineering. For those who want to expand their computer programming skills to include object-oriented programming, there are many online classes and resources to assist in learning its intricacies. The Object Discovery Training Program, for example, provides easily accessible training either on-site, in public classes or with distance learning.
Hands On Technology Transfer, Inc. offers a 4-day class in many cities, which claims its students will have total proficiency in Object-oriented analysis and design. There is an appropriate training program available for you if your “object” is become more proficient in computer language programming.