一、类之间的关系

1.泛化关系(UML图:实线空心三角形箭头,箭头指向被继承方)

类和类、接口与接口之间的继承称为泛化关系


public class A {}

class B extends A{}

public interface A{}

class B extends A{}

2.实现关系(​UML图:虚线空心三角想箭头,箭头指向被实现方)

类和接口之间的关系

public interface A{}

class B implements A{}

3.关联关系(UML图:实线v字箭头,箭头指向被调用方)

类与类之间的连接,在java中通常使用成员变量来实现


public class Me{

  String name;

  String addr;

  String telephone;

  Fridend f1;//在当前对象中含有指向其他对象的引用

  Me(Friednd f1){

     this.f1 = f1;

  }

}

class Friend{

  String name;

  String addr;

  Friend(String name){

    this.name = name;

  }

}

4.聚合关系(UML图:实线空心菱形箭头,箭头指向整体)

是关联关系中的一种,是较强的关联关系,是整体和部分的关系,​如:汽车和轮胎,他与关联关系不同,关联关系的类处在同一个层次上,而聚合关系的类出自啊不平等的层次上,一个代表整体,一个代表部分,在java中​实例变量来体现。

//ClassRooom就是整体

public class ClassRoom{

  //ClassRoom和List集合属于关联关系,在同一个层次上

  //ClassRoom和Student属于聚合关系,一个是整体一个是部分

  List<Student> stus;//Student就是部分

  //聚合关系:整体不依赖部分

​5.合成关系(UML图:实线实心菱形箭头,箭头指向整体)


public class Person{

  List<limbs> l;

  //人和List是关联关系

  //人和四肢是合成关系,人是整体,四肢是部分

  //合成关系和聚合关系是相似的,区别在于:整体和部分是紧密相连的

  //整体的生命周期决定部分的生命周期

}

6.依赖关系(UML图:虚线V字箭头,箭头指向被调用方)

public class Test{

  public void m1(){

    //局部变量

    User u = new User();//依赖关系,必须写在方法里面,方面外面不算

  }

}

class User{}

三、源码:

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

最新文章

  1. vert.x学习(五),用StaticHandler来处理静态文件
  2. sql服务器启动不了问题
  3. 自定义视图引擎,实现MVC主题快速切换
  4. javaBean和Servlet有什么区别
  5. Bzoj2440 完全平方数
  6. Gradle使用手册(一):为什么要用Gradle?
  7. 理解Python的*args, **kwargs
  8. EventLoop的设计
  9. memcache缓存命中深入理解转载
  10. Web前端开发面试题赋答案
  11. 7816的报文结构——APDU
  12. jquery之效果操作
  13. ubuntu16.04+cuda9+cudnn7+tensorflow+pycharm环境搭建
  14. Java 静态代码的作用
  15. 关于echarts生成雷达图的一些参数介绍
  16. 使用Eclipse绑定Tomcat并发布应用
  17. AtCoder Regular Contest 080 (ARC080) E - Young Maids 线段树 堆
  18. Url地址重写
  19. redis(二)
  20. MySQL&#160;InnoDB表和索引之聚簇索引与第二索引

热门文章

  1. Chapter 07-Basic statistics(Part4 t-tests&amp;&amp;nonparametric tests of group difference)
  2. 以Python为例的Async / Await的编程基础
  3. NSSearchPathForDirectoriesInDomains用法
  4. 2019-2020-11 20199304 《Linux内核原理与分析》 第十一周作业
  5. “setTimeout、Promise、Async/Await 的区别”题目解析和扩展
  6. 深入理解 BigDecimal
  7. hibernate查询方式(四)
  8. 智能家居CC2530功率放大组网RFX2401C和AT2401C的区别
  9. 测试工程师有福啦!一键生成api文档及测试功能
  10. Spring简介即Spring Ioc