第8节 实现关联关系.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
船只必须被客户拥有(Boat和Customer之间是强制关系) 客户不一定拥有船只( Customer和Boat之间是可选关系) 使用Java实现关联关系的方法: 在Boat类中添加属性:Customer类的引用变量; 在Customer 类中添加属性: Boat类的引用变量; 将Boat和Customer之间的关系变为强制的,而不是可选的. 在Boat的构造函数中增加参数:Customer引用 Boat构造函数的头为: // constructor public Boat(String aStateRegistrationNo, double aLength, String aManufacturer, int aYear, Customer aCustomer) 构造函数中的代码为所有的属性设置值,然后调用assignBoatToCustomer方法,该方法会设置Boat的Customer属性并请求Costomer设置其boat属性. Slip与Dock在两个方向上都有关联关系:船台被连接到码头,码头包含许多船台。 实现一对多的关联关系要求Dock实例有一个以上船台的引用变量,可以在Dock类中使用Vector保存多个Slip类的引用变量。 Lease类层次结构是一个关联类,表示租约是客户和船台之间的关联关系,具有起始日期、终止日期、租金等属性。 Customer和Slip之间是一对一的关联关系,将Lease连接到此关系的虚线表示每个客户和船台之间有一份租约 // custom method to return vector of slips public Vector getSlips() { return slips;} // get accessor methods public int getId() { return id;} public String getLocation() { return location;} public boolean getElectricity() { return electricity;} public boolean getWater() { return water;} } 8.4 将Dock 与 Slip 相关联:一对多的关联关系 将Slip类与Dock相关联 修改Slip类定义: 增加Dock引用变量作为属性; 修改构造函数: 增加Dock引用参数,这样,实例化Slip时,就必须与Dock相关联;构造函数中的语句还会请求码头向码头添加船台,以便在两个方向建立关联关系。 8.4 将Dock 与 Slip 相关联:一对多的关联关系 // Slip with Boat reference and accessors // and Dock reference variable and accessors public class Slip { // attributes private int no; private int width; private double slipLength; private Boat boat; private Dock dock; 8.4 将Dock 与 Slip 相关联:一对多的关联关系 // constructor with 3 parameters plus dock reference public Slip(int aNo, int aWidth, double aSlipLength, Dock aDock) { // invoke accessors to populate attributes setNo(aNo); setWidth(aWidth); setSlipLength(aSlipLength); // assign slip to an existing dock setDock(aDock); // tell dock to associate with this slip dock.addSlipToDock(this); // initially no boat in slip setBoat(null); } 8.4 将Dock 与 Slip 相关联:一对多的关联关系 // set accessor methods public void setNo(int aNo) { no = aNo; } public void setWidth(int aWidth) { width = aWidth

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档