object-oriented programming

(redirected from Object-based)
Also found in: Dictionary, Thesaurus, Wikipedia.

object-oriented programming,

a modular approach to computer programcomputer program,
a series of instructions that a computer can interpret and execute; programs are also called software to distinguish them from hardware, the physical equipment used in data processing.
..... Click the link for more information.
 (software) design. Each module, or object, combines data and procedures (sequences of instructions) that act on the data; in traditional, or procedural, programming the data are separated from the instructions. A group of objects that have properties, operations, and behaviors in common is called a class. By reusing classes developed for previous applications, new applications can be developed faster with improved reliability and consistency of design. The first object-oriented programs, written in the language Simula 67, were used extensively for modeling and simulation, primarily in Europe during the late 1960s and early 1970s. The technique was popularized in the United States during the following decade using the language SmallTalk and achieved its greatest prominence with the development of the object-oriented language C++ during the late 1980s and 1990s.


See P. W. Oman and T. G. Lewis, Milestones in Software Evolution (1990); T. Budd, An Introduction to Object-Oriented Programming (1991); P. Varhol, Object-Oriented Programming: The Software Development Revolution (1993); P. Coad and J. Nicola, OOP, Object-Oriented Programming (1993).

object-oriented programming

[¦äb‚jekt ‚ȯr·ē‚en·təd ′prō‚gram·iŋ]
(computer science)
A computer programming methodology that focuses on data rather than processes, with programs composed of self-sufficient modules (objects) containing all the information needed to manipulate a data structure. Abbreviated OOP.

Object-oriented programming

A computer-programming methodology that focuses on data items rather than processes. Traditional software development models assume a top-down approach. A functional description of a system is produced and then refined until a running implementation is achieved. Data structures (and file structures) are proposed and evaluated based on how well they support the functional models.

The object-oriented approach focuses first on the data items (entities, objects) that are being manipulated. The emphasis is on characterizing the data items as active entities which can perform operations on and for themselves. It then describes how system behavior is implemented through the interaction of the data items.

The essence of the object-oriented approach is the use of abstract data types, polymorphism, and reuse through inheritance.

Abstract data types define the active data items described above. A traditional data type in a programming language describes only the structure of a data item. An abstract data type also describes operations that may be requested of the data item. It is the ability to associate operations with data items that makes them active. The abstract data type makes operations available without revealing the details of how the operations are implemented, preventing programmers from becoming dependent on implementation details. The definition of an operation is considered a contract between the implementor of the abstract data type and the user of the abstract data type. The implementor is free to perform the operation in any appropriate manner as long as the operation fulfills its contract. Object-oriented programming languages give abstract data types the name class.

Polymorphism in the object-oriented approach refers to the ability of a programmer to treat many different types of objects in a uniform manner by invoking the same operation on each object. Because the objects are instances of abstract data types, they may implement the operation differently as long as they fulfill the agreement in their common contract.

A new abstract data type (class) can be created in object-oriented programming simply by stating how the new type differs from some existing type. A feature that is not described as different will be shared by the two types, constituting reuse through inheritance. Inheritance is useful because it replaces the practice of copying an entire abstract data type in order to change a single feature.

In the object-oriented approach, a class is used to define an abstract data type, and the operations of the type are referred to as methods. An instance of a class is termed an object instance or simply an object. To invoke an operation on an object instance, the programmer sends a message to the object.

object-oriented programming

(OOP) The use of a class of programming languages and techniques based on the concept of an "object" which is a data structure (abstract data type) encapsulated with a set of routines, called "methods", which operate on the data. Operations on the data can __only__ be performed via these methods, which are common to all objects that are instances of a particular "class". Thus the interface to objects is well defined, and allows the code implementing the methods to be changed so long as the interface remains the same.

Each class is a separate module and has a position in a "class hierarchy". Methods or code in one class can be passed down the hierarchy to a subclass or inherited from a superclass. This is called "inheritance".

A procedure call is described as invoking a method on an object (which effectively becomes the procedure's first argument), and may optionally include other arguments. The method name is looked up in the object's class to find out how to perform that operation on the given object. If the method is not defined for the object's class, it is looked for in its superclass and so on up the class hierarchy until it is found or there is no higher superclass.

OOP started with SIMULA-67 around 1970 and became all-pervasive with the advent of C++, and later Java. Another popular object-oriented programming language (OOPL) is Smalltalk, a seminal example from Xerox's Palo Alto Research Center (PARC). Others include Ada, Object Pascal, Objective C, DRAGOON, BETA, Emerald, POOL, Eiffel, Self, Oblog, ESP, Loops, POLKA, and Python. Other languages, such as Perl and VB, permit, but do not enforce OOP.

FAQ. http://zgdv.igd.fhg.de/papers/se/oop/. http://cuiwww.unige.ch/Chloe/OOinfo.

Usenet newsgroup: news:comp.object.

object-oriented programming

Writing software that supports a model wherein the data and their associated processing (called "methods") are defined as self-contained entities called "objects." Object-oriented programming (OOP) languages, such as C++ and Java, provide a formal set of rules for creating and managing objects. The data are stored in a traditional relational database or in an object database if the data have a complex structure. See O-R mapping and object database.

There are three major features in object-oriented programming: encapsulation, inheritance and polymorphism.

Encapsulation Enforces Modularity
Encapsulation refers to the creation of self-contained modules that bind processing functions to the data. These user-defined data types are called "classes," and one instance of a class is an "object." For example, in a payroll system, a class could be Manager, and Pat and Jan could be two instances (two objects) of the Manager class. Encapsulation ensures good code modularity, which keeps routines separate and less prone to conflict with each other.

Inheritance Passes "Knowledge" Down
Classes are created in hierarchies, and inheritance allows the structure and methods in one class to be passed down the hierarchy. That means less programming is required when adding functions to complex systems. If a step is added at the bottom of a hierarchy, then only the processing and data associated with that unique step needs to be added. Everything else about that step is inherited. The ability to reuse existing objects is considered a major advantage of object technology.

Polymorphism Takes any Shape
Object-oriented programming allows procedures about objects to be created whose exact type is not known until runtime. For example, a screen cursor may change its shape from an arrow to a line depending on the program mode. The routine to move the cursor on screen in response to mouse movement would be written for "cursor," and polymorphism allows that cursor to take on whatever shape is required at runtime. It also allows new shapes to be easily integrated.

OOP Languages
Used for simulating system behavior in the late 1960s, SIMULA was the first object-oriented language. In the 1970s, Xerox's Smalltalk was the first object-oriented programming language and was used to create the graphical user interface (GUI). Today, C++ and Java are the major OOP languages, while C#, Visual Basic.NET, Python and JavaScript are also popular. ACTOR and Eiffel were earlier OOP languages. The following list compares some basic OOP terms with traditional programming. See object-oriented DBMS.

OOP           Traditional Programming

 class         description of
                data + processing

 (instance)    actual data + processing

 attribute     actual data (a field)

 method        function that processes a
                particular structure

 message       function call

 instantiate   allocate a structure

Object Modeling
When information systems are modeled as objects, they can employ the powerful inheritance capability. Instead of building a table of employees with department and job information in separate tables, the type of employee is modeled. The employee class contains the data and the processing for all employees. Each subclass (manager, secretary, etc.) contains the data and processing unique to that person's job. Changes can be made globally or individually by modifying the class in question.
References in periodicals archive ?
Founded in 2004, Cleversafe is a privately held company based in Chicago and a recognized market leader[1] with more than 350 patents in object-based, on-premise storage solutions that enable clients to scale to exabytes of storage, or billions of gigabytes.
CDP systems can perform fast recoveries by restoring just the blocks that have changed, and instant recoveries by presenting a mountable volume for BC purposes, just like snapshots and some object-based backup systems.
His answer--which we find compelling--is that object-based technologies offer virtually the only way to cope with the escalating complexity of next-generation applications.
Copiun's unique approach to global, object-based backup deduplication offers compelling bandwidth and storage savings versus traditional deduplication technologies, especially for enterprises with large numbers of remote and mobile employees who connect to the corporate network over a WAN or 3G/4G network.
This latest report assessed the ability of vendors in the object-based storage (OBS) market to deliver object-based storage offerings and compete effectively in the market.
Software-based storage solutions based on commodity hardware platforms will lead the charge in growth in the file- and object-based storage market," says Ashish Nadkarni, research director, Storage Systems at IDC.
There are SAN, NAS, and Object-based solutions that have clustered network storage architectures.
The IDC study assessed the vendors in the object storage market and analyzed each vendor's ability to provide object-based storage platforms.
Fortunately, object-based storage clustering offers a new approach to fill the expanding gap between Linux cluster growth and the lack of scalable data access.
As a member of the four-panel discussion moderated by Forrester Research Principal analyst Andrew Reichman, Gladwin will discuss the growing need for object-based storage solutions that address the storage industry's massive data needs while allowing for availability, security and scalability.
By reducing the cost and effort required to integrate existing plant and enterprise systems into a unified enterprise control system and providing an object-based environment for application development, deployment, and reuse, the new InFusion enterprise control system represents a major leap forward for the automation industry.

Full browser ?