The object type is a user-defined composite datatype which encapsulates a data structure along with the functions and procedures required to manipulate the data. The variables which form the data structure are known as the attributes. The functions and procedures which characterize the behavior of the object type are known as methods.
We typically think of an object (like a car, person, or bank account) as having behaviors and attributes. For illustration, a baby has the attributes age, gender, and weight, and the behaviors drink, eat, and sleep. The Object types maintain this perspective when you sit down to write an application.
Whenever you define an object type using the CREATE TYPE statement, you create an abstract template for several real-world objects. The template specifies only those behaviors & attributes that the object which will require in the application atmosphere. For illustration, an employee has numerous attributes, but usually only a few are required to fill the requirements of an application.
Figure: Form Follows Function
Assume that you should write a program to allocate the employee bonuses. Not all the employee attributes are required to solve this problem.Therefore, you design an abstract employee who has the problem-specific attributes as: name, job title, id_number, department, salary, and rank. Then, you can identify the operations required to handle an abstract employee. For illustration, you require an operation which lets Management change the rank of an employee.
Later, you define a set of variables to present the data, and a set of subprograms to perform the operations. Lastly, you encapsulate the methods and attributes in an object type. The data structure created by the set of attributes is public. Though, well-behaved programs do not influence it directly. Rather, they use the set of methods provided. In that way, the employee data is kept in an appropriate state.
At run time, if the data structure is filled with values, you have created an illustration of an abstract employee. You can create as numerous instances (usually known as objects) as you require. Each object has the name, job title, and number, and so on of an actual employee. This data is accessed or changed only by the methods related with it. Therefore, the object types let you create objects with the well-defined behavior and attributes.
Figure: Object Type and Objects (Instances) of That Type