我有这个UML协会类。注意:水平线是实线,垂直线是虚线。
--------- ---------
| |*(a) *(b)| |
| CLASS |________________| CLASS |
|STUDENT | | | COURSE |
--------- | ---------
|*(c)
______|______
| |
| |
| CLASS |
| TRANSCRIPT |
|_____________|
我了解这种关系,但是在实现此UML进行编码时遇到了一些问题。我可以实现类Student
与类之间的关系Course
以进行编码。这是我的代码:
class Student {
Vector<Course> b;
}
class Course {
Vector<Student> a;
}
但是,在课堂上Transcript
,我对如何在代码中使用此类不太了解。是阶级Student
和阶级的财产吗Course
?因此,如果是这样,那么代码将是:
class Student {
Vector<Course> b;
Vector<Transcript> c;
}
class Course {
Vector<Student> a;
Vector<Transcript> c;
}
是真的吗 如果这是错误的,请教我如何实现此UML。
谢谢 :)
首先,不要使用Vector,因为它是一个古老的类,不应再使用10年以上。使用Set
或List
。
如果Transcript
班级包含有关学生参加课程的方式的信息(例如,其订阅课程的日期),则可以这样实现:
class Student {
Set<Transcript> transcripts;
}
class Transcript {
Student student;
Course course;
Date subscriptionDate;
}
class Course {
Set<Transcript> transcripts;
}
这不会阻止您在Student中提供一种返回其所有课程的方法:
public Set<Course> getCourses() {
Set<Course> result = new HashSet<Course>();
for (Transcript transcript : transcripts) {
result.add(transcript.getCourse());
}
return result;
}
如果Transcript
不包含任何信息,则可能可以对如何在数据库表中映射这些类进行建模,其中在两个表之间进行多对多关联的唯一方法是使用持有ID的联接表。两个关联的表。
我一直在努力尝试让Bouncy Castle Scrypt进入我的web应用程序进行密码加密。我对Java编程和安全性相当陌生。 我试着查看了Bouncy Castle的Scrypt类文档。然而,我真的很难弄清楚它是如何工作的。它似乎并没有真正给出如何创建类或诸如此类的信息。 我在Stack Exchange和Google上搜索了一下,看看是否有什么地方可以给出一个很好的示例,说明我应该做什么来创
我正在使用Obeo UML Designer V.8.0.0(从这里下载的最新版本)来设计一个UML数据模型,并且我想生成对应于该模型的Java类。如何生成类?
问题内容: 数组在Java中被实现为对象,对吗?如果是这样,我可以在哪里查看数组类的源代码。我想知道数组中的length变量是否定义为常量,如果是这样,为什么不是全部使用大写字母LENGTH来使代码更易于理解。 问题答案: 尽管从它们继承java.lang.Object的角度来看,数组是Object,但是这些类是作为语言的特殊功能动态创建的。它们未在源代码中定义。 考虑以下数组: 没有这样的源代码
问题内容: 我是jfreechart的新手。我想显示一个基于数据库表中值的图表。表为dns_time,文件名为dns_lookup_time,update_time。我想在x轴上使用update_time,在y轴上使用dns_lookup_time,并且应该根据数据库中的值显示曲线。我使用的是hibernate和postgresql,谁能帮助我实现这一目标,谢谢。 问题答案: 您可能会看一下,它可
问题内容: 我正在尝试创建一个无符号整数类。 有没有办法实现诸如 +,-,*,/,<<,>>,|,^,>>>,<< 问题答案: Java不支持运算符重载。你是唯一的选择定义了类似的方法,,,等,并写出逻辑存在,并调用它们的特定操作。 您可以看一下BigInteger类,以了解如何定义支持各种操作的方法。如果有兴趣,您甚至可以浏览源代码,您可以在 jdk 主目录的 src 文件夹中找到该源代码。 _
本文向大家介绍如何在 Java 中实现不可变类,包括了如何在 Java 中实现不可变类的使用技巧和注意事项,需要的朋友参考一下 前言 面向对象的编程通过封装可变动的部分来构造能够让人读懂的代码,函数式编程则是通过最大程度地减少 可变动的部分来构造出可让人读懂的代码。 — Michael Feathers,Working with Legacy Code 一文的作者 在这一部分中,我讨论的是函数式编