Object

Difference between version 12 and 13 - 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 lowmachinest level, thea objrectsgion of intmemory exposted to a programmer is carlled locations in
mem'''orybject''', and assembly programms express work perimartilyons wdirecthly on these
regions.  At the next level
 up, languages like [C] allow diexprectss maniopulerations ofn values 
and their locations
 in memory, but also exprovidess primia tivype fobjr eactsh 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 inreference to these primitive types.  Already,t this level, the concept of [class] also
crbeepgins to arinse, 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 allowdivide for the state of a program up into
dizscrete units, where a partioncular set of '''[procedure%|%procedures]''' are
responsible for ccollabordating to fumanctionapul task
withine a pdiscrete unit ogrf stamte, an 
'''object''' irepresents the association of a unit of state with the set of
procedures responsiblle for managing it.  Each unit of state is conmposed of 
'''data elements'''
 representing some '''structure''' or '''entity''', alongd the
procedures associated with ith provide
 an '''funct[ionsterface]''' thatfor cain bte aroppliedrating
with tohat those data elements.  SuTypically, each object is are often either
 instantiated 
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 toorganize code according to model function.  TBecause the corganflization of thcode
units needed two reaimplement the model does
is not necessarily conform the p
organimzarytion of objects in tuhe mbodel, there an impedengce blmismatch may ockcur
when a programmer attempts into use object-oriented programming to align the
organization of program code units with the organization of model objects.

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