Bridge设计模式在Java中是否只有一个抽象和接口Class?

Does Bridge design pattern have only one abstract and interface Class in Java?

Java中抽象和接口Class我真的很难思考?

举个例子: 我们有 2 个用户在学校系统中具有相同和不同的操作 老师:可以添加练习并且查看练习 学生:可以查看提交练习 我们有 2 个不同的用户,不同的操作和相同的操作。 那么我们怎样才能做到一个抽象class和一个接口呢?

不应该只有一个 class - 行为不同的东西应该用不同的 class 表示。

如果你想使用接口和抽象class...

为共享行为创建接口:

interface ExerciseViewer {
    void view(Exercise exercise);
}

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

abstract class SchoolPerson implements ExerciseViewer {
    public void view(Exercise exercise) {
         // some implemention
    }
}

class Teacher extends SchoolPerson {
    public void add(Exercise exercise) {
        // some implementation
    }
}

class Student extends SchoolPerson {
    public void submit(Exercise exercise) {
        // some implementation
    }
}

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