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

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

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

mrwjdhj3

mrwjdhj31#

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

interface ExerciseViewer {
    void view(Exercise exercise);
}

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

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
    }
}

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

相关问题