Java 类之间的关系

总述

类和类之间的关系,耦合度从高到低:

  • is 。继承、实现
  • has 。组合、聚合、关联
  • use 。依赖。

要求是:高内聚、低耦合。

继承

Person 和 Man之间是继承关系。

实现

组合

1public class Person { 2 // Person和Heart之间是组合 3 private Heart h; 4 public Person(){ 5 h=new Heart(); 6 } 7}

特征是:要在构造方法中创建对象

聚合

1public class Car { 2 //聚合 3 private Engine e; 4 public Car(Engine e){ 5 this.e = e; 6 } 7}

聚合的特点是:有这个属性,且要在构造方法中使用,但不是在构造方法中创建的。

注意和组合的差别:两者的创建时机不同,组合是在Person创建的时候,被创建的。聚合是可以在别的创建的。

关联

1public class Person { 2 // Person 和Car之间是关联关系 3 private Car c; 4 public void setC(Car c){ 5 this.c=c; 6 } 7}

特点是:不是在构造方法中设置的。

依赖

1public class Person { 2 // 使用-依赖 3 public void traval(Train t){ 4 } 5}

特点是:要在普通方法中使用。

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

一篇文章带你搞懂Python中的继承和多态

一、继承的介绍继承是一种创建新的类的方式,新创建的叫子类,继承的叫父类、超类、基类。继承的特点就是子类可以使用父类的属性(特征、技能)。继承是类与类之间的关系。继承可以减少代码冗余、提高重用性。在现实生活中,继承一般指的是子女继承父辈的财产,如下图:二、如何用继承?1.继承语法Class派生类名(基类名):基类名写在括号里。在继承关系中,已有的,设计好

java第五次上机

1.实现如下类之间的继承关系,并编写Music类来测试这些类。packageMusic;publicclassMusic{publicvoidtune(Instrumenti){i.play();}publicstaticvoidmain(Stringargs\\){Musicanew

String

一,String,StringBuffer,StringBuilder三者之间的关系三个类的关系:StringBuffer和StringBuilder都继承自AbstractStringBuilder这个类,而AbstractStringBuilder和String都继承自Object这个类(Object是所有java类的超类)

Spring Security使用详解5(角色继承)

之前的文章中,各个角色之间不具备任何关系,但一般来说角色之前是有关系的,例如ROLE\_admin一般既有admin的权限,又具有user的权限。下面介绍如何配置这种角色之间相互继承的关系。五、角色继承1、配置角色关系要配置角色继承关系,只需在SpringSecurity的配置类中提供一个RoleHierar

Java——类之间的关系

3.7类之间的关系3.7.1泛化关系 类和类之间的继承关系及接口与接口之间的继承关系。!(https://oscimg.oschina.net/oscnet/a5fa467c0401d4d7c7525fa4ab75fa4c672.png) !(https://oscimg.oschina.net/oscnet/9

Java 类之间的关系 - HelloWorld