当前位置: 首页 > 编程笔记 >

简单谈谈Java类与类之间的关系

司空宣
2023-03-14
本文向大家介绍简单谈谈Java类与类之间的关系,包括了简单谈谈Java类与类之间的关系的使用技巧和注意事项,需要的朋友参考一下

类与类之间最常见的关系主要有三种:依赖(uses-a)、聚合(has-a)和继承(is-a)。

下面以在线书店订单系统为例,来详细的讲述这三种关系的概念。

在线书店订单系统的主要功能是:注册用户可以登录到网上书店选购图书,在线填写订单,并支付购书款。书店确认已经收到购书款时,按用户留下的地址邮寄图书。可以在这个系统中建立几个类,有图书(book)、账户(account)、订单(order)、地址(address)等,如下图所示:

依赖(uses-a)

依赖关系是类中最常见的关系,例如订单类(order)需要访问用户账户类(account),所以在订单类中需要引用账户类,即订单类依赖账户类,但图书类不需要依赖账户类。

如果修改账户类,会影响到订单类。依赖的实质就是类中的方法可以操作另一个类的实例。在实际程序设计中,建议尽量减少相互依赖类的数量。如下图所示:

聚合(has-a)

因为订单需要指明订购什么图书,这就涉及到图书类,即包含了图书类。聚合与依赖关系的不同在于,订单类可以不拥有所有账户类对象,但是必须拥有所有图书类对象,因为图书类的对象是订单的主要目的,如下图所示:

继承

继承就是一个类能调用另一个类的所有html" target="_blank">数据成员,并在当前类中不需要再重新定义,本章已经讲得很明白了。

 类似资料:
  • 本文向大家介绍简单谈一谈Java中的Unsafe类,包括了简单谈一谈Java中的Unsafe类的使用技巧和注意事项,需要的朋友参考一下 Unsafe类是啥? Java最初被设计为一种安全的受控环境。尽管如此,Java HotSpot还是包含了一个“后门”,提供了一些可以直接操控内存和线程的低层次操作。这个后门类——sun.misc.Unsafe——被JDK广泛用于自己的包中,如java.nio和j

  • 本文向大家介绍简单谈谈js的数据类型,包括了简单谈谈js的数据类型的使用技巧和注意事项,需要的朋友参考一下 近期做一些项目的时候发现,自己的js基础还是不够扎实,再看一遍犀牛书,加深自己的理解和印象。所以从这篇文章开始,后面都是关于原生js的一些内容。 这篇文章,我们具体介绍一下js的数据类型其中一种。 一、javaScript(以下简称js)的数据类型分为两类:原始类型和对象类型。js的原始类型

  • 本文向大家介绍简单谈谈apache与nginx,包括了简单谈谈apache与nginx的使用技巧和注意事项,需要的朋友参考一下 一、 关于Apache与Nginx的优势比较     不断有人跟我说Nginx比Apache好、比Apache快之类。Nginx更主要是作为反向代理,而非Web服务器使用。我翻译过一本关于反向代理的技术书籍,同时精通Apache API开发,对Nginx和Apache的工

  • 本文向大家介绍谈谈ContentProvider、ContentResolver、ContentObserver之间的关系?相关面试题,主要包含被问及谈谈ContentProvider、ContentResolver、ContentObserver之间的关系?时的应答技巧和注意事项,需要的朋友参考一下 ContentProvider: 四大组件的内容提供者,主要用于对外提供数据 实现各个应用程序之

  • 本文向大家介绍简单谈谈Python中的json与pickle,包括了简单谈谈Python中的json与pickle的使用技巧和注意事项,需要的朋友参考一下 这是用于序列化的两个模块: • json: 用于字符串和python数据类型间进行转换 • pickle: 用于python特有的类型和python的数据类型间进行转换 Json 模块提供了四个功能:dumps、dump、loads、load

  • 本文向大家介绍浅谈java中BigDecimal类的简单用法,包括了浅谈java中BigDecimal类的简单用法的使用技巧和注意事项,需要的朋友参考一下 一、BigDecimal概述 ​ Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算