java多重继承中的接口,建模问题
我有以下情况: 正如你所看到的,我有两个班,一个是讲师,一个是学生。班主任助理是讲座和学生的混合体,这是因为他们可以报名参加课程,但他们也可以讲授一些基本主题(不被视为讲师)。我的想法是使用接口对这种情况建模,因为我将用Java编程。这个模型正确吗 因此,TA类将实现接口teachs,其中包含分配给该学生进行教学的一系列课程java多重继承中的接口,建模问题,java,interface,multiple-inheritance,Java,Interface,Multiple Inheritance,我有以下情况: 正如你所看到的,我有两个班,一个是讲师,一个是学生。班主任助理是讲座和学生的混合体,这是因为他们可以报名参加课程,但他们也可以讲授一些基本主题(不被视为讲师)。我的想法是使用接口对这种情况建模,因为我将用Java编程。这个模型正确吗 因此,TA类将实现接口teachs,其中包含分配给该学生进行教学的一系列课程 但如果我这样做,我就会意识到我根本失去了课堂讲师。我如何能够模拟这种多重继承的情况,而不失去课堂讲师?我的意思是,如果我将讲师作为一个界面进行编程,它将不会有任何我需要
但如果我这样做,我就会意识到我根本失去了课堂讲师。我如何能够模拟这种多重继承的情况,而不失去课堂讲师?我的意思是,如果我将讲师作为一个界面进行编程,它将不会有任何我需要进一步的方法,例如,工资福利的计算等等。有什么建议吗?您可以将
讲师
制作成一个界面,然后让讲师
和教授
实施它TeachingAssistant
可以扩展Student
,因为从逻辑上看,助教就是学生。您可以将讲师
变成一个界面,然后让TeachingAssistant
和教授
实现它TeachingAsistant
可以扩展学生
,因为从逻辑的角度来看,助教是学生。一个选项是让教师
和可教
接口
然后让讲师
实施教师
(因为缺少像Teacherable这样的词!),学生
实施可教
和助教
实施教师
和可教
。
讲师
,学生
和助教
都可以扩展教员
一个选项是拥有教师
和可教
界面
然后让讲师
实施教师
(因为缺少像Teacherable这样的词!),学生
实施可教
和助教
实施教师
和可教
。
讲师
,学生
和助教
都可以扩展教职员工
,,在我看来,总体上是合理的。你只需要问:如果一些客户端代码需要一位讲师
,那么一个TA实例就足够了吗?如果有问题的话,你可以选择用作文来设计它,把教学能力抽象成一个独立的类,比如TeachingJob
(我想不出更好的名字了)。这样一来,真正的教授
s和TeachingAssistant
s的唯一共同点就是他们有相似的教学工作;它们不属于同一个“类”(实际上是接口)
混合方法将包括教学作业
和讲师
界面,例如讲师
将采用分配(教学作业分配)
方法。在我看来,通常是合理的。你只需要问:如果一些客户端代码需要一位讲师
,那么一个TA实例就足够了吗?如果有问题的话,你可以选择用作文来设计它,把教学能力抽象成一个独立的类,比如TeachingJob
(我想不出更好的名字了)。这样一来,真正的教授
s和TeachingAssistant
s的唯一共同点就是他们有相似的教学工作;它们不属于同一个“类”(实际上是接口)
混合方法将包括教学作业
和讲师
界面,例如讲师
将有一个分配(教学作业分配)
方法。但从逻辑上讲,学生不需要讲师的任何属性。最好为学生提供一个不同的界面。TA将实现学生和教师的接口。这就是为什么讲师只是一个接口。但从逻辑上讲,学生不需要讲师的任何属性。最好为学生提供一个不同的界面。TA将实现学生和教师的界面。这就是为什么讲师只是一个界面。