Object

Difference between version 11 and 12 - Previous - Next
'''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 lowest level, the objects of interest to a programmer are locations in
memory, and assembly programmers work primarily with these.  At the next level
up, languages like [C] allow direct manipulation of values and their locations
in memory, but also provide primitive objects such as "character", "integer",
"float", and "array".  In [The C Programming Language Kernighan and
Ritchie%|%The C Programming Language], the first use of the term "object" is in
reference to these primitives.  Already, this level, the concept of [class]
creeps in, 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 '''[dll%|%dynamic link library]''', which is
a compiled code object that can be linked into a program at runtime.

In [object orientation], which refers to a set of [programming language]
features which allow for the organization of code according to functional taskwithin a program, an '''object''' is a collection of '''data elements'''
representing some '''structure''' or '''entity''', along with the
'''functions''' that can be applied to the data.  Such objects are often eitherinstantiated from [class]%|%classes] or cloned from [Prototype Pattern in
Tcl%|%prototypes].  Because of the close relationship between a functional task
in a program and the real-world objects that a program models, [object
orientation%|%object-oriented] programming features are often also used to
organize code according to model function.  The conflation of these two realms
is one of the primary stumbling blocks in object-oriented programming.

In Tcl, at the implementation level [Tcl_Obj] is a data structure that is used
to implement Tcl values.



** See Also **

   [Object Orientation]:   

   [http://en.wikipedia.org/wiki/Object_%28computer_science%29%|%Wikipedia]:   

<<categories>> Concept | Glossary | Object Orientation