java - 类图关系接口(interface)

标签 java class uml diagrams

假设我们有一个用于考试的类(class)和一个用于类(class)作业的类(class),这两个类(class)都需要相同的属性,例如类(class)词/考试 ID、名称、截止日期、权重等。

创建一个接口(interface)以便两者都实现相同的方法(如我在下面所做的那样)是否明智? [enter image description here ][ 试图寻找最好的面向对象方法,只是不确定我是否有点矫枉过正。

谢谢

最佳答案

我认为最好的方法是创建一个 ClassWork 和 ClassExam 继承的类 Class。

父类 ClassF 将声明这些通用属性,而其他 2 个子类只需声明那些使它们独一无二的特定属性,因为通用属性是通过继承隐含的。

我将尝试用一个例子来解释:

       ClassF -> attributes: name, ID, weight, Date
              -> methods: getName() ....

             Exam -> attributes: marks 
                  -> methods: calculateMarks()...

             CourseWork -> attributes: typeOfCourse
                        -> methods: printInfoCourse()...

子类 Exam 和 CourseWork 可以实现和使用 ClassF 中的 ID,因为它是从其父类继承的。

也许决定是否允许实例化 ClassF 是个好主意,因为在这种情况下,将 ClassF 转换为抽象类会很有趣。

<小时/>

在此具体案例中,使用接口(interface)来实现这些类是一种错误的方法,因为这不是接口(interface)的功能(https://docs.oracle.com/javase/tutorial/java/concepts/interface.html 了解更多信息)

希望对你有帮助!

关于java - 类图关系接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35348884/

相关文章:

java - 使用 jacorb 编译 Java 11

Java ArrayList 类

Java:将类的集合转换为B类的集合

eclipse - 使用 Eclipse 而不是 QM 的 QP(量子平台)状态图

java - 规则,哪个对象的方法写在 UML 序列图中的箭头上?

java - 为什么我不能使用这个循环无限读取 double ?

java - 枚举多模式

python - 当类的任何属性被修改时,类如何运行某些功能?

python - 如何使用实例激活 __str__ dunder 方法并修复错误 :"__str__ returned non-string (type NoneType)"

java - UML 类图 - 多重关联