Advanced Placement Computer Science

Marine Biology Case Study
Object Diagrams

This file contains links to a number of diagrams that illustrate object interactions in the AP CS Marine Biology Case Study.

In these object diagrams, each class is represented by a rectangle. Most of these diagrams show only the public and private member functions of the class, which appear in smaller rectangles. The public member functions, which represent the class interface, overlap the edge of the rectangle. The private member functions are encapsulated inside the class rectangle. The AquaFish object diagram shows public member functions and private data members; there are no private member functions in this class. The private data members are encapsulated inside the class rectangle, but do not appear in smaller rectangles.

Any member function in red is a link to another object diagram that illustrates the behavior and interactions of that function in more detail. You can also click on any class rectangle in the object diagrams to see the header file for that class. The rectangle labeled main in the Top-Level Interactions diagram, which does not represent a class, is a link to the implementation file containing the main function, fishsim.cpp.

The following object diagrams are available:

These diagrams illustrate the main interactions among objects in the case study, particularly those concerned with fish movement. They do not document every variable and every operation in the program. In particular, they do not show interactions with primitive types and standard classes, such as the stream classes. For the most part, the AP Classes are treated (or disregarded) in the same way; the one exception is the call to the apmatrix resize function in the Environment constructor, which is documented. Finally, the diagrams do not show interactions whose sole purpose is to generate error and debugging messages.