Recall from Section 1.3 that the UML is a standardized graphical language used by software developers to represent their object-oriented systems. In the UML, each class is modeled in a UML class diagram as a rectangle with three compartments. Figure 3.2 presents a class diagram for class GradeBook
(Fig. 3.1). The top compartment contains the class’s name centered horizontally and in boldface type. The middle compartment contains the class’s attributes, which correspond to data members in C++. This compartment is currently empty, because class GradeBook
does not yet have any attributes. (Section 3.4 presents a version of class GradeBook
with an attribute.) The bottom compartment contains the class’s operations, which correspond to member functions in C++. The UML models operations by listing the operation name followed by a set of parentheses. Class GradeBook
has only one member function, displayMessage
, so the bottom compartment of Fig. 3.2 lists one operation with this name. Member function displayMessage
does not require additional information to perform its tasks, so the parentheses following displayMessage
in the class diagram are empty, just as they are in the member function’s header in line 12 of Fig. 3.1. The plus sign (+) in front of the operation name indicates that displayMessage
is a public operation in the UML (i.e., a public
member function in C++).