Ejemplos Single responsibility
import java.util.HashMap;
import java.util.Map;
public class Student {
private String Name;
private Map<String, Double> CoursesAndGrades = new HashMap<String, Double>();
public void EnrollCourse(String courseName) {
CoursesAndGrades.put(courseName, 0.0); // default grade
}
public void AssignGrade(String courseName, double grade) {
if (CoursesAndGrades.containsKey(courseName)) {
CoursesAndGrades.put(courseName, grade);
}
}
public double CalculateGPA() {
// Basic GPA calculation logic
double sum = 0.0;
for (double grade : CoursesAndGrades.values()) {
sum += grade;
}
return sum / CoursesAndGrades.size();
}
public void PrintTranscript() {
System.out.printf("Transcript for %s\n", Name);
for (Map.Entry<String, Double> course : CoursesAndGrades.entrySet()) {
System.out.printf("%s: %.2f\n", course.getKey(), course.getValue());
}
System.out.printf("GPA: %.2f\n", CalculateGPA());
}
}
import java.util.HashMap;
import java.util.Map;
public class Student {
private String Name;
private Map<String, Double> CoursesAndGrades = new HashMap<String, Double>();
public void EnrollCourse(String courseName) {
CoursesAndGrades.put(courseName, 0.0); // default grade
}
public void AssignGrade(String courseName, double grade) {
if (CoursesAndGrades.containsKey(courseName)) {
CoursesAndGrades.put(courseName, grade);
}
}
}
public class GPACalculator {
public double CalculateGPA(Student student) {
// Basic GPA calculation logic
double sum = 0.0;
for (double grade : student.CoursesAndGrades.values()) {
sum += grade;
}
return sum / student.CoursesAndGrades.size();
}
}
public class TranscriptGenerator {
private GPACalculator _gpaCalculator;
public TranscriptGenerator(GPACalculator gpaCalculator) {
_gpaCalculator = gpaCalculator;
}
public void PrintTranscript(Student student) {
System.out.printf("Transcript for %s\n", student.Name);
for (Map.Entry<String, Double> course : student.CoursesAndGrades.entrySet()) {
System.out.printf("%s: %.2f\n", course.getKey(), course.getValue());
}
System.out.printf("GPA: %.2f\n", _gpaCalculator.CalculateGPA(student));
}
}
//Testing the Single Responsibility Principle
public class Program {
public static void main(String[] args) {
Student alice = new Student();
alice.Name = "Alice";
alice.EnrollCourse("Mathematics");
alice.AssignGrade("Mathematics", 90);
GPACalculator gpaCalc = new GPACalculator();
TranscriptGenerator transcriptGen = new TranscriptGenerator(gpaCalc);
transcriptGen.PrintTranscript(alice);
}
}