桥梁设计模式在java中只有一个抽象类和接口类吗?

pbpqsu0x  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(428)

我真的很难想到java中的抽象类和接口类?
这里有一个例子:我们有两个用户在学校系统中有相同和不同的动作老师:可以添加练习和查看练习学生:可以查看和提交练习我们有两个不同的用户,不同的动作和相同的动作。那么我们怎样才能把它变成一个抽象类和接口呢?

mrwjdhj3

mrwjdhj31#

不应该只有一个类——行为不同的事物应该由不同的类来表示。
如果要使用接口和抽象类。。。
为共享行为创建接口:

  1. interface ExerciseViewer {
  2. void view(Exercise exercise);
  3. }

然后为扩展抽象基类的每种类型的人创建具体类:

  1. abstract class SchoolPerson implements ExerciseViewer {
  2. public void view(Exercise exercise) {
  3. // some implemention
  4. }
  5. }
  6. class Teacher extends SchoolPerson {
  7. public void add(Exercise exercise) {
  8. // some implementation
  9. }
  10. }
  11. class Student extends SchoolPerson {
  12. public void submit(Exercise exercise) {
  13. // some implementation
  14. }
  15. }

但是,我不会这样做。相反,我将创建两个具体的类来实现没有方法的exerciseviewer(参见marker interface),一个exercise类和一个单独的exerciseservice类来处理具有适当参数类型的操作。

展开查看全部

相关问题