Browse Prior Art Database

Non-Invasive Method for Adding Data Values to Existing Object Instances

IP.com Disclosure Number: IPCOM000115855D
Original Publication Date: 1995-Jul-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 95K

Publishing Venue

IBM

Related People

Feigenbaum, BA: AUTHOR

Abstract

Disclosed in the field of Object-Oriented Programming (OOP) is a method to add data features to an existing object instance without requiring changes to the object instance. This method is based on an auxiliary table, or dictionary, that maps object identifiers to new objects, called addendum objects, providing supplemental data for the old object, called the base object. New function features, added to the base object class, can access the base and addendum objects.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Non-Invasive Method for Adding Data Values to Existing Object Instances

      Disclosed in the field of Object-Oriented Programming (OOP) is
a method to add data features to an existing object instance without
requiring changes to the object instance.  This method is based on an
auxiliary table, or dictionary, that maps object identifiers to new
objects, called addendum objects, providing supplemental data for the
old object, called the base object.  New function features, added to
the base object class, can access the base and addendum objects.

      Object Oriented Programming is based on several interacting
concepts.  Related data is grouped into a structure called an object.
Objects have identity and can be distinguished by location or by
content.  Classes describe a family of objects, called instances of
the class.  The class specifies the state, or data features, and
behavior, or function features, of any object that belongs to the
class.  Classes also provide object generators.  Classes can be
arranged into trees, indicating single inheritance, or lattices,
indicating multiple inheritance.  Instances of sub-classes have all
the features of the superclass, as well as their direct class.  It is
possible for subclasses to replace, or override, features of the
superclass by adapting the features to the particulars of the
subclass.  The format and content of data features are private to the
instance.  While other client instances cannot directly access this
information, access is provided through function features, allowing
changes to the object structure when such changes do not impact
client objects.

      An object has features, such as data items or functions that
can be applied to the object, which are defined by the class of the
object.  A data item may be a number or a character string, another
object of any class, or a reference to one of these types.  While
function features can be easily added by changing the class
definition, data features conventionally cannot be added if instances
of the class exist.  This limitation is needed because, if a data
feature is added to or deleted from a class, the class layout in
memory changes, resulting in erroneous access to objects previously
existing in the old format.

      An object is considered to be persistent if it exists beyond
the operation of the program in which it was created.  Due to
extension and error correction, classes evolve over time, with new
features often being introduced, so that the feature list of a
persistent object differs from the current feature list of it...