Efficient method router that supports multiple simultaneous object versions
First Claim
1. A computer implemented method for modifying an object oriented programming environment, said method comprising the steps of:
- modifying a class object of a class to create a new version of said class, said class object having instance variable definitions and being connected to a first class interface table, said class object being modified to include different instance variable definitions and to be connected to a second class interface table;
modifying all subclass class objects that represent subclasses of said class to create new versions of said subclasses, said subclass class objects having at least said instance variable definitions and being respectively connected to first subclass class interface tables, said subclass class objects being modified to include at least said different instance variable definitions and to be connected to second subclass class interface tables.
1 Assignment
0 Petitions
Accused Products
Abstract
OOP environments comprise composite data structures and internal mechanisms for manipulating those structures. The structures are used to allow a user to realize the power of OOP. Hence, the layout of these structures, the way in which the structures inter-relate, and the manner in which they are built and used are all critical to the utility of a particular OOP environment. It is no surprise, then, that manufacturers and suppliers of OOP environments are constantly striving to design composite data structures and internal mechanisms which maximize user productivity. The internal mechanisms and structures that make up the present invention are collectively referred to as the New Object Model (NOM). The composite data structures and organization of the NOM OOP environment provide significant benefits that are not provided by the environments of the prior art. These benefits include: a more efficient method resolution scheme and the ability to add method programs and object instance data to a class definition without the need to recompile the majority of the code base.
62 Citations
4 Claims
-
1. A computer implemented method for modifying an object oriented programming environment, said method comprising the steps of:
-
modifying a class object of a class to create a new version of said class, said class object having instance variable definitions and being connected to a first class interface table, said class object being modified to include different instance variable definitions and to be connected to a second class interface table; modifying all subclass class objects that represent subclasses of said class to create new versions of said subclasses, said subclass class objects having at least said instance variable definitions and being respectively connected to first subclass class interface tables, said subclass class objects being modified to include at least said different instance variable definitions and to be connected to second subclass class interface tables.
-
-
2. A computer implemented method for modifying an object oriented programming environment, said method comprising the steps of:
-
creating a new class object that represents a new version of a class, said class being represented by an old class object, said old class object having a class interface table and a class method table, said old class object having subclasses, said subclasses being represented by subclass class objects, said subclass class objects having subclass class interface tables and subclass class method tables; creating a new class interface table and a new class method table for said new version of said class; creating new subclass class objects for each subclass of said class; creating new subclass class interface tables for said each subclass of said class and new subclass class method tables for said each subclass of said class; and copying all class method tables that are method tables for super classes of said each of said subclass of said class.
-
-
3. An apparatus within a computer system for modifying an object oriented programming environment, said apparatus comprising:
-
means for modifying a class object of a class to create a new version of said class, said class object having instance variable definitions and being connected to a first class interface table, said class object being modified to include different instance variable definitions and to be connected to a second class interface table; means for modifying all subclass class objects that represent subclasses of said class to create new versions of said subclasses, said subclass class objects having at least said instance variable definitions and being respectively connected to first subclass class interface tables, said subclass class objects being modified to include at least said different instance variable definitions and to be connected to second subclass class interface tables.
-
-
4. An apparatus within a computer system for modifying an object oriented programming environment, said apparatus comprising:
-
means for creating a new class object that represents a new version of a class, said class being represented by an old class object, said old class object having a class interface table and a class method table, said old class object having subclasses, said subclasses being represented by subclass class objects, said subclass class objects having subclass class interface tables and subclass class method tables; means for creating a new class interface table and a new class method table for said new version of said class; means for creating new subclass class objects for each subclass of said class; means for creating new subclass class interface tables for said each subclass of said class and new subclass class method tables for said each subclass of said class; and means for copying all class method tables that are method tables for super classes of said each of said subclass of said class.
-
Specification