|
Object-oriented
techniques achieve further reusability through the encapsulation of programs and
data. The techniques and mechanisms we shall discuss here are primarily concerned
with paradigms for packaging objects in such a way that they can be conveniently
reused without modification to solve new problems. Instantiation
and Object Classes Instantiation is perhaps the most basic object-oriented
reusability mechanism. Every programming language provides some built-in data
types (like integers and floating-point numbers) that can be instantiated as needed.
Objects may either be statically or dynamically instantiated. Statically instantiated
objects are allocated at compile-time and exist for the duration that the program
executes. Dynamically instantiated objects require run-time support for allocation
and for either explicit deallocation or some form of garbage collection.
The next step is to provide a way for programmers to define and instantiate their
own objects. This can be done by providing the programmer with a facility to define
object classes, as is the case in Smalltalk. An object class specifies a set of
visible operations, a set of hidden instance variables and a set of hidden methods
which implement the operations. The instance variables can only be modified indirectly
by invoking the operations. When a new instance of an object class is created,
it has its own set of instance variables, and it shares the operations' methods
with other instances of its class. A simple example is the class ComplexNumber.
The programmer would define an interface consisting
of the arithmetic operations that complex numbers support, and provide the implementation
of these operations and the internal data structures. It would be up to the programmer
to decide, for example, whether to use a representation based on Cartesian or
polar coordinates. An alternative approach to instantiation is to use prototypical
objects rather than object classes as the "template" from which new
instances are forged.
This is exactly what we do when we make a copy of a text
file containing a document composed in a formatting language like TeX ~ or troff:
we reuse the structure of the old document, altering its contents, and possibly
refining the layout. This approach is useful to avoid a proliferation of object
classes in systems where objects evolve rapidly and display more differences than
similarities.
You may also like this : IMode, Blue Gene , Access gateways, Computer Forensics, Direct Memory Access , Crusoe, Digital Subscriber Line , Computer Memory Based on the Protein Bacterio-rhodopsin, DNA Based Computing, Free Space Optics , Freenet, Fiber Distributed Data Interface , Dynamic Virtual Private Network, Introduction to the Internet Protocols, Graphic processing Unit, High Altitude Aeronautical Platforms, Aspect-oriented programming (Aop) , Intel MMX Technology, Hyper-Threading technology , IMAX, Brain-Computer Interface , InfiniBand, Multicast , Inverse Multiplexing, Blue Tooth , Holographic Memory , Jini Technology, Bio-metrics, Magnetic Random Access Memory , Intrution Detection System, Multiterabit Networks, Neural Networks And Their Applications, Quantum Computers , Small Computer System Interface, OpenRAN , Quadrics Interconnection Network, Plan 9 Operating System , Structured Cabling, Quantum Cryptography , Speech Application Language Tags, Real- Time Systems and Real- Time Operating Systems, Parallel Computing In India , Steganography, Virtual LAN Technology, Artificial Neural Network (ANN), Tele-immersion, VHDL, Blue Eyes , Voice Over Internet Protocol, The Tiger SHARC processor, Computer Seminars Reports and PPT
|
<<back |