In an object-oriented system, all data is represented as discrete objects with which the user and other objects may interact. Each object contains data as well as information about the executable file needed to interpret that data. An object-oriented system allows the user to focus completely on tasks rather than tools. Examples of object-oriented programming languages include C++ and Smalltalk.
Below is the list of few key terms related to object-oriented systems:
- Message – A message is the communication to an object to carry out some operation.
- Method – A method is the code that defines the actions an object performs in response to a message.
- Behavior – Behavior refers to the results exhibited by an object upon receipt of a message.
- Class – A class is a collection of the common methods of a set of objects that defines the behavior of those objects.
- Instance – Objects are instances of classes that contain their methods.
- Inheritance – Methods from a class are inherited by another subclass. Thus, the subclass inherits the behavior of the larger class or superclass, as it is sometimes called.
- Multiple inheritance – Multiple inheritance is the situation where a class inherits the behavioral characteristics
of more than one parent class.
- Delegation – Delegation is the forwarding of a request by an object to another object or delegate. This forwarding is necessitated by the fact that the object receiving the request does not have a method to service the request.
- Polymorphism – A name may denote objects of many different classes that are related by some common superclass; thus, any object denoted by this name is able to respond to some common set of operations
in a different way.
- Polyinstantiation – Polyinstantiation is the development of a detailed version of an object from another using different values in the new object. In database information security, this term is concerned with the same primary key for different relations at different classification levels being stored in the same database.
For example, in a relational database, the name of military unit may be classified Secret in the database and may have an identification number as the primary key. If another user at a lower classification level attempts to create a confidential entry for another military unit using the same identification number as a primary key, a rejection of this attempt would imply to the lower level user that the same identification number existed at a higher level of classification.
To avoid this inference channel of information, the lower level user would be issued the same identification number of their unit and the database management system would manage this situation where the same primary key was used for two different units.