Lo vedo nella diapositiva che mira ad illustrare i costruttori. Sono confuso ora perché ha due costruttori che hanno lo stesso job accept impostando gpa a zero nel secondo. Perché il programmatore deve ripetere ancora ? Perché questa classe ha bisogno di due costruttori?Perché questa classe ha due costruttori?
class Student{
private int id;
private String name;
private double gpa;
public Student(int id, String name, double gpa){
this.id = id; this.name = name; this.gpa = gpa;
}
public Student(int id, String name){
this.id = id; this.name = name; gpa = 0.0;
}
public boolean equals(Student other){
return id == other.id && name.equals(other.name)
&& gpa == other.gpa;
}
public String toString(){
return name + " " + id + " " + gpa;
}
public void setName(String name){
this.name = name;
}
public double getGpa(){
return gpa;
}
}
sarebbe meglio concatenamento: 'Student pubblico (int id, String name) {questo (id, nome, 0.0); } '- altrimenti le modifiche al codice devono avvenire due volte, e questo è male! – corsiKa