Object

Difference between version 16 and 17 - 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 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