如何用java实现关联(implement association in java)

关联关系表示一个类知道另一个类,并持有对另一个类的引用。关联可以描述为“has-a”关系,因为Java中的典型实现是通过使用实例字段实现的。关系可以是双向的,每个类都持有对另一个类的引用。聚合和组合是关联关系的类型。...

关联关系表示一个类知道另一个类,并持有对另一个类的引用。关联可以描述为“has-a”关系,因为Java中的典型实现是通过使用实例字段实现的。关系可以是双向的,每个类都持有对另一个类的引用。聚合和组合是关联关系的类型。

Program code, HTML and JavaScript on LCD screen

关联将一个或多个事物与另一个或多个事物联系起来。教授可能与大学课程有关(一对一的关系),但也可能与她班上的每个学生有关(一对多的关系)。一个部分中的学生可能与同一课程另一部分中的学生关联(多对多关系),而课程的所有部分都与单个课程关联(多对一关系)。

关联实例

想象一个简单的战争游戏,有一个防空炮类和一个轰炸机类。这两个类都需要相互了解,因为它们的设计目的是相互摧毁:

public class AntiAirCraftGun { private Bomber target; private int positionX; private int positionY; private int damage; public void setTarget(Bomber newTarget) { this.target = newTarget; } //rest of AntiAircraftGun class } public class Bomber { private AntiAirCraftGun target; private int positionX; private int positionY; private int damage; public void setTarget(AntiAirCraftGun newTarget) { this.target = newTarget; } //rest of Bomber class }

防空炮类有一个轰炸机对象,轰炸机类有一个防空炮对象。

  • 发表于 2021-09-20 08:53
  • 阅读 ( 200 )
  • 分类:编程

你可能感兴趣的文章

睡觉(sleep)和在java中等待(wait in java)的区别

...Java中,有两种创建线程的方法。这是通过扩展thread类或实现可运行接口来实现的。Thread类具有用于在线程上创建和执行操作的构造函数和方法。Thread类扩展对象类并实现可运行接口。可运行接口应该由任何一个类实现,这些类...

  • 发布于 2020-10-19 03:04
  • 阅读 ( 276 )

包装类(wrapper class)和java中的基元类型(primitive type in java)的区别

...转换为对象,也需要将对象转换回基元。包装类可以用来实现这个任务。Java中包装类与基元类型的区别在于,包装类是用来将原语类型转换为对象,并将对象转换回原语类型,而基元类型是由Java编程语言提供的预定义数据类型...

  • 发布于 2020-10-19 06:27
  • 阅读 ( 744 )

变量(variables)和java中的数据字面值(data literals in java)的区别

...面值是固定值的源代码表示。 联想 变量与内存位置相关联。 数据文本与变量内部的固定值相关联。 总结 - 变量(variables) vs. java中的数据字面值(data literals in java) 变量和数据文本是与编程相关的常用术语。本文讨论了变量...

  • 发布于 2020-10-19 08:52
  • 阅读 ( 261 )

超载(overloading)和在java中重写(overriding in java)的区别

...ava中重载和重写之间的关键区别在于,重载是使用不同的实现创建多个同名方法的能力,重写是为超类中已经存在的子类方法提供一个实现。 目录 1. 概述和主要区别 2. Java中的重载是什么 3. Java中的重写是什么 4. Java中重载和重...

  • 发布于 2020-10-19 21:20
  • 阅读 ( 368 )

聚合(aggregation)和java中的合成(composition in java)的区别

...象可以使用另一个对象。聚合和组合可以用支持OOP的语言实现。如果包含的对象可以在不存在所属对象的情况下存在,那么这两个对象之间的关联就是一个聚合。如果没有拥有对象就不能存在包含的对象,那么这两个对象之间的...

  • 发布于 2020-10-24 01:38
  • 阅读 ( 726 )

如何用java连接mysql数据库

Java提供JDBC(Java数据库连接),作为JavaSDK(软件开发工具包)的一部分。使用这个API,很容易连接到关系数据库,并执行查询、**、更新和删除记录等常见操作。 ...

  • 发布于 2021-03-11 17:39
  • 阅读 ( 344 )

如何用selenium制作网络爬虫

Web爬网对于自动执行网站上常规执行的某些任务非常有用。你可以像人类一样编写一个爬虫来与网站交互。 ...

  • 发布于 2021-03-11 23:41
  • 阅读 ( 371 )

java8lambdas简介

... class MyTask implements Runnable { ... public void run() { // implement your task here System.out.println("Running in a separate thread now."); } ...} ...

  • 发布于 2021-03-12 08:09
  • 阅读 ( 247 )

关于javarmi注册中心以及如何使用它的所有内容

... public class GreetingObject implements Greeting{ private String fmtString = "Hello, %s"; public String greet(String name) { return String.format(this.fmtString, name); }} ...

  • 发布于 2021-03-12 15:58
  • 阅读 ( 312 )

入门时应学习的10个核心java概念

... public class ArrayList implements List { // private field member used for storage private Object[] storage; public void add(Object obj) { // implements add() here } public Object get(int index) { // implements get() here } public void ...

  • 发布于 2021-03-13 05:33
  • 阅读 ( 248 )
安静暴富小咸鱼
安静暴富小咸鱼

0 篇文章