Figure 3.6 contains an updated UML class diagram for the version of class GradeBook
in Fig. 3.5. This diagram models GradeBook
’s data member courseName
as an attribute in the middle compartment. The UML represents data members as attributes by listing the attribute name, followed by a colon and the attribute type. The UML type of attribute courseName
is String
, which corresponds to string
in C++. Data member courseName
is private
in C++, so the class diagram lists a minus sign (–) in front of the corresponding attribute’s name. Class GradeBook
contains three public
member functions, so the class diagram lists three operations in the third compartment. Operation setCourseName
has a String
parameter called name
. The UML indicates the return type of an operation by placing a colon and the return type after the parentheses following the operation name. Member function getCourseName
of class GradeBook
has a string
return type in C++, so the class diagram shows a String
return type in the UML. Operations setCourseName
and displayMessage
do not return values (i.e., they return void
in C++), so the UML class diagram does not specify a return type after the parentheses of these operations.