java多重继承中的接口,建模问题

java多重继承中的接口,建模问题,java,interface,multiple-inheritance,Java,Interface,Multiple Inheritance,我有以下情况: 正如你所看到的,我有两个班,一个是讲师,一个是学生。班主任助理是讲座和学生的混合体,这是因为他们可以报名参加课程,但他们也可以讲授一些基本主题(不被视为讲师)。我的想法是使用接口对这种情况建模,因为我将用Java编程。这个模型正确吗 因此,TA类将实现接口teachs,其中包含分配给该学生进行教学的一系列课程 但如果我这样做,我就会意识到我根本失去了课堂讲师。我如何能够模拟这种多重继承的情况,而不失去课堂讲师?我的意思是,如果我将讲师作为一个界面进行编程,它将不会有任何我需要

我有以下情况:

正如你所看到的,我有两个班,一个是讲师,一个是学生。班主任助理是讲座和学生的混合体,这是因为他们可以报名参加课程,但他们也可以讲授一些基本主题(不被视为讲师)。我的想法是使用接口对这种情况建模,因为我将用Java编程。这个模型正确吗

因此,TA类将实现接口teachs,其中包含分配给该学生进行教学的一系列课程


但如果我这样做,我就会意识到我根本失去了课堂讲师。我如何能够模拟这种多重继承的情况,而不失去课堂讲师?我的意思是,如果我将讲师作为一个界面进行编程,它将不会有任何我需要进一步的方法,例如,工资福利的计算等等。有什么建议吗?

您可以将
讲师
制作成一个界面,然后让
讲师
教授
实施它
TeachingAssistant
可以扩展
Student
,因为从逻辑上看,助教就是学生。

您可以将
讲师
变成一个界面,然后让
TeachingAssistant
教授
实现它
TeachingAsistant
可以扩展
学生
,因为从逻辑的角度来看,助教是学生。

一个选项是让
教师
可教
接口 然后让
讲师
实施
教师
(因为缺少像Teacherable这样的词!),
学生
实施
可教
助教
实施
教师
可教

讲师
学生
助教
都可以扩展
教员

一个选项是拥有
教师
可教
界面 然后让
讲师
实施
教师
(因为缺少像Teacherable这样的词!),
学生
实施
可教
助教
实施
教师
可教
讲师
学生
助教
都可以扩展
教职员工
,,在我看来,
总体上是合理的。你只需要问:如果一些客户端代码需要一位
讲师
,那么一个TA实例就足够了吗?如果有问题的话,你可以选择用作文来设计它,把教学能力抽象成一个独立的类,比如
TeachingJob
(我想不出更好的名字了)。这样一来,真正的
教授
s和
TeachingAssistant
s的唯一共同点就是他们有相似的教学工作;它们不属于同一个“类”(实际上是接口)

混合方法将包括
教学作业
讲师
界面,例如
讲师
将采用
分配(教学作业分配)
方法。

在我看来,通常是合理的。你只需要问:如果一些客户端代码需要一位
讲师
,那么一个TA实例就足够了吗?如果有问题的话,你可以选择用作文来设计它,把教学能力抽象成一个独立的类,比如
TeachingJob
(我想不出更好的名字了)。这样一来,真正的
教授
s和
TeachingAssistant
s的唯一共同点就是他们有相似的教学工作;它们不属于同一个“类”(实际上是接口)


混合方法将包括
教学作业
讲师
界面,例如
讲师
将有一个
分配(教学作业分配)
方法。

但从逻辑上讲,学生不需要讲师的任何属性。最好为学生提供一个不同的界面。TA将实现学生和教师的接口。这就是为什么讲师只是一个接口。但从逻辑上讲,学生不需要讲师的任何属性。最好为学生提供一个不同的界面。TA将实现学生和教师的界面。这就是为什么讲师只是一个界面。