- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
船只必须被客户拥有(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
您可能关注的文档
- 环形绕线机和绞线绕线机PWD价格.docx
- 棉花自动打包机和移动式打包机价格.docx
- 甲级单位编制五金弹簧制品项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 第五节 水的浮力2、3.ppt
- 甲级单位编制五金弹簧项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 世界地理概况(改).ppt
- 4专题《中考历史识图》好好.ppt
- 软包装罐头食品项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案.docx
- 水性浸涂漆项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案.docx
- 100-10000L不锈钢控温电加热搅拌罐和搅拌混合机价格.docx
文档评论(0)