Java扩展了替代品

我正在努力建立我们大学课程管理系统的模型(课程).我偶然发现了一个扩展的小限制,也就是说,某个类不可能扩展两个类.这是模型:

                     Professor
                    /                  
             Staff
          /          \                       
    Person            Tutor            
           \         /      
             Student            

因此,我得到了员工和学生扩展人员和教授扩展员工.现在我与班级导师有一个小小的困境,他基本上是一名学生(有学生ID),但在某种意义上是大学员工(担任小组讲座,负责某个项目等).既然我不能使用两个扩展,那么还有什么其他选择,如果可能的话,有人可以给一个非常简单的工具示例吗?我已经看过它的一个接口示例,但我不确定我如何在我的程序中使用它,因为Student不是一个接口?

解决方法:

不要使用继承,使用组合:每个人都是一个人,但有一个或多个角色:学生,导师,教授,工作人员.

或者可选地在Staff和Student之间进行划分并允许他们拥有角色.然后角色决定他们能做什么或不能做什么.

上一篇:UVa442 Matrix Chain Multiplication


下一篇:☆ [POJ2559] Largest Rectangle in a Histogram 「单调栈」