Object

object is perhaps the most overloaded word in computing, with the common denominator being the idea that an object is a concrete instance of some type of thing in the context of some larger system.

Description

At the machine level, a region of memory exposed to a program is called an object, and assembly programs express operations directly on these regions. At the next level up, languages like C express operations on values and their locations in memory, but also express a type for each value such as "character", "integer", "float", and "array", and constrain operations on the basis of these types. In The C Programming Language, the first use of the term "object" is in reference to these primitive types. At this level, the concept of class also begins to arise, with the various numeric types having a certain degree of compatibility with each other.

In the context of compiling source code to machine code, C, an object is an instance of a compiled unit of source code. From this meaning comes the term, shared object, also called a dynamic link library, which is a compiled code object that can be linked into a program at runtime.

In object-oriented programming, which refers to a set of programming language features which divide the data handled by a program up into discrete units and associate each unit with a particular set of procedures responsible for collaborating to manipulate the data that comprises the unit, each association is called an object. The object provides the interface to the unit. Typically, each object is either instantiated from a class or cloned from a prototype. Such an object is primarily concerned with managing the data that represent the thing being modeled, but programmers often misuse object-oriented features as if they provided a way to model the thing itself instead of the data that represents it. For example, a method is often misunderstood as implementing the behaviour of the object, instead of being correctly understood as providing a means for acting on the data the object is an interface for.

In the C implementation of Tcl, a Tcl_Obj is a data structure that represents a a Tcl value.

See Also

Object Orientation
Wikipedia