如何解决Bridge 设计模式在 Java 中是否只有一个抽象类和接口类?
我真的很难在 Java 中思考抽象和接口类吗?
这里有一个例子: 我们有 2 个用户在 School 系统中具有相同和不同的操作 老师:可以添加练习和查看练习 学生:可以查看和提交练习 我们有 2 个不同的用户,不同的动作和相同的动作。 那么我们怎样才能做到一个抽象的类和接口呢?
解决方法
不应该只有一个类 - 行为不同的事物应该由不同的类表示。
如果你想使用一个接口和一个抽象类...
为共享行为创建一个接口:
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),一个 Exam 类和一个单独的 ExerciseService 类,该类处理具有适当参数类型的操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。