gpt4 book ai didi

java - 我应该在一个类中实现所有接口(interface)还是为每个接口(interface)创建一个类?

转载 作者:行者123 更新时间:2023-11-30 12:05:09 25 4
gpt4 key购买 nike

我有一项任务是构建一个 self 评估测试评分器。老师给了我们测试接口(interface):

Test interface UML diagram

和问题接口(interface):

Question interface UML diagram

实现,我不知道我是否应该像这样在一个类中实现它们:

public class CQuestion implements IQuestion, IQuestionMultipleChoice,
IQuestionNumeric, IQuestionYesNo,IQuestionMetadata {}

public class CTest implements ITest,ITestStatistics {}

或者我是否应该为每种问题类型开设一个类。

我尝试了第一种方法,但出现错误,因为存在同名方法。

我想尝试第二种方法,但我不知道该怎么做。我知道我必须在测试类中创建一个问题对象,但我不知道是否必须为每种问题类型创建一个对象。

最佳答案

在测试接口(interface)的情况下,我不明白你为什么不能(乍一看),我认为你应该实现这两个接口(interface)。

在问题接口(interface)的情况下,正如您所发现的,方法签名中存在不兼容性。由于 IQuestionMultipleChoiceIQuestionNumericIQuestionYesNo 都扩展了 IQuestion,您只需实现前三个中的一个。正如@john-bollinger 在评论中指出的那样,如果您实现了三个配音接口(interface)之一,则无需实现 IQuestion

我认为您还应该使用类似的东西实现IQuestionMetaData

public class CQuestionYesNo implements IQuestionYesNo, IQuestionMetaData {
... // your code here
}

关于java - 我应该在一个类中实现所有接口(interface)还是为每个接口(interface)创建一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56583042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com