4.5 Object-Oriented Design
4.5.1 An Introduction
It has already been shown in Section 4.1, Design Fundamentals, that designs may be structured as sets of interconnected objects. In the example given (Figure 4.7), the computing objects were clearly linked with physical items. Generally, though, objects don't have such a clear-cut relationship. Mostly they are abstract items that represent computing processes within the system. In formal terms, an object, as far as OO Design (OOD) is concerned, may be defined as:
"A software machine that has a number of defined operational states and a defined means to access and change these states."
A change of state is achieved by passing a message into an object, as shown conceptually in Figure 4.43(a). So, in simple terms, an object-structured program executes as a set of interacting machines (Figure 4.43(b)), communicating using messages. These objects, acting together, determine the function and behavior of the overall...