2.1. System structure: Conceptual views
2.1.1. Types and abstract data types
When analysing a problem it is possible to identify collections of items in the problem domain with similar properties, for example, employees in a firm, for which it is useful to invent a collective name, such as 'employees'. It is then possible to discuss the type 'employee' which is the set of employees in the firm. This implies that certain items have the property of being an employee whereas other items are not employees. Thus, some items are in the set, others are not. We end up with the following definition of type:
Type is a word given to a named set of items having some property in common.
A useful way of defining the property which the elements of the set have ...