Java 类之间的关系

Wesley13
• 阅读 682

总述

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

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

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

继承

Person 和 Man之间是继承关系。 Java 类之间的关系

实现

Java 类之间的关系

组合

public class Person {
    // Person和Heart之间是组合
    private Heart h;
    public Person(){
        h=new Heart();
    }
}

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

Java 类之间的关系

聚合

public class Car {
    //聚合
    private Engine e;
    public Car(Engine e){
        this.e = e;
    }
}

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

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

关联

public class Person {
    // Person 和Car之间是关联关系
    private Car c;
    public void setC(Car c){
        this.c=c;
    }
}

特点是:不是在构造方法中设置的。 Java 类之间的关系

依赖

public class Person {
    // 使用-依赖
    public void traval(Train t){
    }
}

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

Java 类之间的关系

点赞
收藏
评论区
推荐文章
Irene181 Irene181
3年前
一篇文章带你搞懂Python中的继承和多态
一、继承的介绍继承是一种创建新的类的方式,新创建的叫子类,继承的叫父类、超类、基类。继承的特点就是子类可以使用父类的属性(特征、技能)。继承是类与类之间的关系。继承可以减少代码冗余、提高重用性。在现实生活中,继承一般指的是子女继承父辈的财产,如下图:二、如何用继承?1.继承语法Class派生类名(基类名):基类名写在括号里。在继承关系中,已有的,设计好
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java第五次上机
1.实现如下类之间的继承关系,并编写Music类来测试这些类。packageMusic;publicclassMusic{publicvoidtune(Instrumenti){i.play();}publicstaticvoidmain(Stringargs\\){Musicanew
Easter79 Easter79
3年前
String
一,String,StringBuffer,StringBuilder三者之间的关系三个类的关系:StringBuffer和StringBuilder都继承自AbstractStringBuilder这个类,而AbstractStringBuilder和String都继承自Object这个类(Object是所有java类的超类)
Stella981 Stella981
3年前
Spring Security使用详解5(角色继承)
之前的文章中,各个角色之间不具备任何关系,但一般来说角色之前是有关系的,例如ROLE\_admin一般既有admin的权限,又具有user的权限。下面介绍如何配置这种角色之间相互继承的关系。五、角色继承1、配置角色关系要配置角色继承关系,只需在SpringSecurity的配置类中提供一个RoleHierar
Wesley13 Wesley13
3年前
Java——类之间的关系
3.7类之间的关系3.7.1泛化关系 类和类之间的继承关系及接口与接口之间的继承关系。!(https://oscimg.oschina.net/oscnet/a5fa467c0401d4d7c7525fa4ab75fa4c672.png) !(https://oscimg.oschina.net/oscnet/9
Wesley13 Wesley13
3年前
Java核心技术读书笔记02
第四章对象和类类之间的关系最常见的三种关系1.依赖("usesa")Order依赖Account类看信息2.聚合("hasa")Order包含多个Item3.继承("isa")知识点:所有Java对象都存在堆中。GregorianCalendar类所包含的方法要比Date类多得多。public避免标记
Wesley13 Wesley13
3年前
C++ ORM ODB 入门介绍(二)
本节主要介绍ODB中的继承和C之间的关系。ORM中的O的关系是很复杂的。其中之一便是对象的继承体系。在C语言中支持类之间的继承,这这些继承的关系是否可以同时映射到数据库呢?1\.ODB中的继承类型ODB支持2中继承类型,abstract和polymorphic。根据ODB文档的描述,abstract方式为
Wesley13 Wesley13
3年前
C++中继承与虚函数
一、类与类之间的关系:1、类与类之间可能会存在共性2、类与类之间必定会有差异3、为了节约开发时间和代码量,我们在设计时可以把类的共项抽象出来形成一个基础类(基类)4、使用基类差异生成一个新的类叫派生类二、继承的语法1、在设计一个类时如果已有的类中有它需要的成员,它可以从已有的类中继承哪些成员,被继承的类叫父类或基类,继承类
Wesley13 Wesley13
3年前
Java基础28
1/2继承的概述:31.提高了代码复用性,简化了代码42.让类与类之间产生了继承关系,才有了后面的多态特性的存在5注意:千万不要为了获取其他类的功能简化代码,而建立继承关系,必须要类与类之间存在继承关系,继承关系:isa67子类拥有父类的成员,子类不能拥有父类