Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 9 - Implementing Association Relationships1 Chapter 9 Implementing Association Relationships.

Similar presentations


Presentation on theme: "Chapter 9 - Implementing Association Relationships1 Chapter 9 Implementing Association Relationships."— Presentation transcript:

1 Chapter 9 - Implementing Association Relationships1 Chapter 9 Implementing Association Relationships

2 Chapter 9 - Implementing Association Relationships2 Chapter 9 Topics Review of Bradshaw Marina’s class diagram Implementing association relationships with one-to-one multiplicity between Java classes Navigating from one instance to another when there is a one-to-one relationship Using the Vector class to create association relationships with one-to-many multiplicity between Java classes Navigating one-to-many association relationships using methods of the Vector class Creating and using an association class with Java

3 Chapter 9 - Implementing Association Relationships3 Reviewing Bradshaw Marina’s Class Diagram See Figure 9-1 Association relationships –Depict how instances of the classes are associated or connected to one another –Shown on the class diagram as lines connecting classes –Indicate that the system requires information about these associations

4 Chapter 9 - Implementing Association Relationships4 Reviewing Bradshaw Marina’s Class Diagram Association relationships –Can be shown as: Aggregation relationships –Strong association where one instance “contains” the other »E.g., town contains shopping centers or stores Composition relationships –Strong association where one is composed of, or “part of” another »E.g., walls that are part of a building

5 Chapter 9 - Implementing Association Relationships5 Associating Customer with Boat: One- to-One Association Relationship Each direction of the association relationship must be defined in Java –Mandatory / optional –Multiplicity To implement in Java: –Use a reference variable of one class as an attribute of another class

6 Chapter 9 - Implementing Association Relationships6

7 7 Associating Customer with Boat: One- to-One Association Relationship Modifying the Customer Class –To implement a one-to-one association with the Boat class: Add an attribute to Customer that holds a reference to a Boat instance (Figure 9-3) –TesterOneA (Figure 9-4) Tests one direction of association relationship –A Customer owns a Boat –Sequence diagram Illustrates the interaction in TesterOneA

8 Chapter 9 - Implementing Association Relationships8

9 9 Associating Customer with Boat: One- to-One Association Relationship Modifying the Boat Class –To implement a one-to-one association with the Customer class: (Figure 9-7) Add an attribute to Boat that holds a reference to a Customer instance Add accessor methods to establish the association relationship in both directions –TesterOneB (Figure 9-8) Tests both directions of association relationship –A Customer owns a Boat –A Boat is owned by a Customer

10 Chapter 9 - Implementing Association Relationships10 Adding Capability to the Boat Class Techniques to increase functionality –Make relationship mandatory rather than optional (pp. 291) E.g., when Boat is instantiated, it could require that a Customer be specified –Thus, only Boats owned by Customers of the business would be accepted into the system –Modify the Boat’s tellAboutSelf method (pp. 292) Return information about both Boat and Customer

11 Chapter 9 - Implementing Association Relationships11

12 Chapter 9 - Implementing Association Relationships12

13 Chapter 9 - Implementing Association Relationships13

14 Chapter 9 - Implementing Association Relationships14

15 Chapter 9 - Implementing Association Relationships15 Associating Dock and Slip: A One-to- Many Association Relationship Dock / Slip Relationships –Slip and Dock relationship A slip is attached to a dock One-to-One relationship –Similar to Customer and Boat relationship –Dock and Slip relationship A dock contains many slips One-to-Many relationship –Requires different approach

16 Chapter 9 - Implementing Association Relationships16 Associating Dock and Slip: A One-to- Many Association Relationship Introducing the Dock Class –Contains: A Vector attribute –Implements the one-to-many relationship A method that returns the Vector attribute reference

17 Chapter 9 - Implementing Association Relationships17

18 Chapter 9 - Implementing Association Relationships18

19 Chapter 9 - Implementing Association Relationships19 Associating Dock and Slip: A One-to- Many Association Relationship Associating the Slip Class With Dock (Figure 9-15) –Modified much like Boat class to implement a mandatory one-to-one association relationship Associates slip with dock –Further modified to also set up a relationship with a Boat Associates slip with boat

20 Chapter 9 - Implementing Association Relationships20 Associating Dock and Slip: A One-to- Many Association Relationship Testing the ‘Dock Contains Slips’ Association Relationship –TesterThreeA (Figure 9-16) Tests both directions of association relationship –One-to-Many »A Dock has multiple Slips –One-to-one »A Slip resides in a Dock

21 Chapter 9 - Implementing Association Relationships21

22 Chapter 9 - Implementing Association Relationships22

23 Chapter 9 - Implementing Association Relationships23 Associating Dock and Slip: A One-to- Many Association Relationship Adding the Boat and Customer Classes to the Example –To complete example (Figure 9-18): Modify Boat to associate with a Slip Add Customer class –TesterThreeB (Figure 9-19) Provides a comprehensive test of associations –Sequence diagram (Figure 9-20) Illustrates the interaction in TesterThreeB

24 Chapter 9 - Implementing Association Relationships24

25 Chapter 9 - Implementing Association Relationships25

26 Chapter 9 - Implementing Association Relationships26 Creating and Using an Association Class - Lease Association class –Lease is an association between a customer and a slip, but with additional attributes to characterize the lease agreement –To implement (Figure 9-23): Lease modified to include Slip and Customer reference attributes Slip modified to include a Lease reference attribute –Class diagram (Figure 9-22) Shows relationships between classes –TesterFour (Figure 9-26) Provides a comprehensive test of overall Lease associations –Sequence diagram Illustrates the interaction in TesterFour

27 Chapter 9 - Implementing Association Relationships27

28 Chapter 9 - Implementing Association Relationships28

29 Chapter 9 - Implementing Association Relationships29


Download ppt "Chapter 9 - Implementing Association Relationships1 Chapter 9 Implementing Association Relationships."

Similar presentations


Ads by Google