// 没有遵循单一职责原则的学生类
public class Student {
private String id; // 学号
private String name; // 姓名
private String gender; // 性别
private double score; // 成绩
public Student(String id, String name, String gender, double score) {
this.id = id;
this.name = name;
this.gender = gender;
this.score = score;
}
public void study() {
// 学习的逻辑
}
public void takeExam() {
// 考试的逻辑
}
public void printReport() {
// 打印成绩单的逻辑
}
public void saveToDatabase() {
// 保存到数据库的逻辑
}
}
// 遵循单一职责原则的学生信息类
public class StudentInfo {
private String id; // 学号
private String name; // 姓名
private String gender; // 性别
private double score; // 成绩
public StudentInfo(String id, String name, String gender, double score) {
this.id = id;
this.name = name;
this.gender = gender;
this.score = score;
}
// 省略getters和setters
}
// 遵循单一职责原则的学生行为类
public class StudentBehavior {
private StudentInfo studentInfo; // 学生信息
public StudentBehavior(StudentInfo studentInfo) {
this.studentInfo = studentInfo;
}
public void study() {
// 学习的逻辑
}
public void takeExam() {
// 考试的逻辑
}
}
// 遵循单一职责原则的成绩单类
public class Report {
private StudentInfo studentInfo; // 学生信息
public Report(StudentInfo studentInfo) {
this.studentInfo = studentInfo;
}
public void printReport() {
// 打印成绩单的逻辑
}
}
// 遵循单一职责原则的数据库操作类
public class DatabaseOperation {
private StudentInfo studentInfo; // 学生信息
public DatabaseOperation(StudentInfo studentInfo) {
this.studentInfo = studentInfo;
}
public void saveToDatabase() {
// 保存到数据库的逻辑
}
}
原文始发于微信公众号(小核桃编程):java内功修炼-单一职责原则案例分析
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/216067.html