'''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 Kernighan and
Ritchie%|%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 '''[dll%|%dynamic link library]''', which is
a compiled code object that can be linked into a program at runtime.
In [object orientation%|%object-oriented programming], which refers to a set of[programming language] features whichfor divideing the data handled by a program up
into discrete units and associateing each unit with a particular set of
'''[procedure%|%procedures]''' respationsible forthat collaborating tobe manipuplatie the
data that comprises the unit, each assouch uniation is called an
'''object'''. The
o availabjlec operations provides the '''[interface]''' to the
unit. Typically, each object is
either instantiated from a [class] or cloned
from a [Prototype Pattern in
Tcl%|%prototype]. Such an object is primarily
concerned with managing the data
that represent thsome thing that is being
modeled, but programmers often misuse [object
orientation%|%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 '''aprovplyiding a means foper
actiong ton the data''' that the object i
encaps ulan interface fors.
In the [C] implementation of Tcl, a [Tcl_Obj] is a data structure that
represents a a Tcl value.
** See Also **
[Object Orientation]:
[http://en.wikipedia.org/wiki/Object_%28computer_science%29%|%Wikipedia]:
<<categories>> Concept | Glossary | Object Orientation