- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java类之间的关系图
Java 类之间的关系图
在 Java 以及其他的面向对象设计模式中,类与类之间主要有 6 种关系,他们分别是:依赖、关联、聚合、组合、继承、
实现。他们的耦合度依次增强。
1. 依赖(Dependence )
依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,
这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java 中的表现还是比较直观的:类A 当中使用了类 B ,其中
类 B 是作为类 A 的方法参数、方法中的局部变量、或者静态方法调用。类上面的图例中:People 类依赖于 Book 类和 Food
类,Book 类和 Food 类是作为类中方法的参数形式出现在 People 类中的。
代码样例:
1. public class People{
2. //Book 作为 read 方法的形参
3. public void read(Book book){
4. System.out.println(“读的书是”+book.getName());
5. }
6. }
2.关联(Association ) 、 、
单向关联:
双向关联:
1 / 4
对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为
关联关系。关联关系分为单向关联和双向关联。在java 中,单向关联表现为:类A 当中使用了类 B ,其中类B 是作为类 A
的成员变量。双向关联表现为:类A 当中使用了类 B 作为成员变量;同时类 B 中也使用了类A 作为成员变量。
代码样例:
1. public class Son{
2. //关联关系中作为成员变量的类一般会在类中赋值
3. Father father = new Father();
4. public void getGift(){
5. System.out.println(“从”+father.getName()+”获得礼物”);
6. }
7. }
8.
9. public class Father{
10. Son son = new Son();
11. public void giveGift(){
12. System.out.println(“送给”+son.getName()+“礼物”);
13. }
14. }
3.聚合(Aggregation )
聚合关系是关联关系的一种,耦合度强于关联,他们的代码表现是相同的,仅仅是在语义上有所区别:关联关系的对象
间是相互独立的,而聚合关系的对象之间存在着包容关系,他们之间是 “整体-个体”的相互关系。
代码样例:
1. public class People{
2. Car car;
2 / 4
3. House house;
4. //聚合关系中作为成员变量的类一般使用 set 方法赋值
5. public void setCar(Car car){
6. This.car = car;
7. }
8. public void setHouse(House house){
9. This.house = house;
10. }
11.
12. public void driver(){
13. System.out.println(“车的型号:”+car.getType());
14. }
15. public void sleep(){
16. System.out.println(“我在房子里睡觉:”+
您可能关注的文档
- HM29数字压力传感器通讯协议.pdf
- Holder不等式的概率形式及应用.pdf
- how-long-have-you-been-collection-shells课件1.ppt
- HPLC测定静脉给药山楂叶提取物大鼠血浆中三种黄酮含量_张文洁_吴学军_冷爱晶.pdf
- HSRP协议分析与应用_王庆生.pdf
- HT-DMX系列高清混合矩阵产品资料(2013版).pdf
- Hibernate关系映射4:N-N关联.pdf
- H级双马来酰亚胺无溶剂浸渍漆.pdf
- IBIS建模和PCB信号完整性分析.pdf
- IDMA_OFDM系统的频谱效率.pdf
- 2025年上海市夜间就医客运班线可行性研究报告.docx
- 2025年上海市文化公司非遗技艺活化传承可行性研究报告.docx
- 2025年上海市工业园区防腐幕墙施工应用可行性研究报告.docx
- 2025年重庆工业职业技术学院单招职业技能测试题库及答案1套.docx
- 2025年天津市健身行业商圈快闪健身挑战赛策划执行可行性研究报告.docx
- 2025年重庆工贸职业技术学院单招职业适应性测试题库带答案.docx
- 2025年重庆城市职业学院单招综合素质考试题库最新.docx
- 3.1 世界是普遍联系的 课件(共51张PPT)高中政治统编版必修4 哲学与文化.pptx
- 2025年上海市马术庄园高端商务接待中心建设可行性研究报告.docx
- 2025年上海市盒饭店智能保温取餐柜投放应用可行性研究报告.docx
文档评论(0)