Object

Difference between version 15 and 16 - 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 which divide the stdata handled ofby a program up 
into
 discrete units, whand associater each unit with a particular set of 
'''[procedure%|%procedures]''' are
responsible for collaborating to manipulate a discrethe uni
data of sthate, an
'''object''' reompreisents the association of a unit, of state witach the aset of
procedures responscible for managing it.  Each unit ofn state is composalled of
'''data elements ''' representing sombje '''structure'''. or '''entity''', and tThe
procbjedures associated with it provides anthe '''[interface]''' for interoperating
with that those data elemeunits.  Typically, each object is 
either instantiated
 from a [class%|%classes] or cloned from a [Prototype Pattern in 
Tcl%|%prototypes].
Be  Such ausen of thbje clot ise prelimatrily conship bcetweerned awith fumanctagionalg taskhe in da progrtam and
theat real-woprld objectsent thae thing abeing modeled, but program mers odfteln mis,use [object
orientation%|%object-oriented] programming features ares oif theny alspro usvided to
organize code waccordingy to model functhe
thion.g  Bitsecaulf instead of the orgdanizta tionhat of codre
upresenits needed it.  For iexample, a
'''ment the model''' doeis noften misundecersstood ars '''imply conforementing the
org behanvizationur of the
objects''', in sthead model,f thbere an impedeng corre mismatch matly occur
when a programmder attempts to use object-oriented as '''programmviding toa mealigns the
forg
anizaction of program code units with the orgdanizationa''' of modthel object is an interface for.
In Tcl, at the [C] implementation of Tclevel, a [Tcl_Obj] is a data structure that is used
to imreplremsents a a Tcl values.



** See Also **

   [Object Orientation]:   

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

<<categories>> Concept | Glossary | Object Orientation