Sto usando getter e setter allo scopo di incapsulare.
public class Student {
private String studentID;
private String studentName;
private String address;
public Student(){
//default constructor
}
public Student(String studentID, String studentName, String address) {
super();
this.studentID = studentID;
this.studentName = studentName;
this.address = address;
}
public String getStudentID() {
return studentID;
}
public void setStudentID(String studentID) {
this.studentID = studentID;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
le variabili studentID, studentName e indirizzo sono dichiarati come privati, con l'intenzione di incapsulare.
ma potremmo anche fare lo stesso compito rendendo il livello di accessibilità variabile da privato a pubblico, è davvero utile applicare l'incapsulamento con l'uso di setter e getter?
solo io riesco a capire l'uso di getter e setter: gli utenti della classe non devono avere un'idea dei nomi delle variabili usate nella classe come setter e getter hanno un senso per gli utenti della classe
ex- objectofStudentClass.setStudentID ("S0001");
C'è una differenza tra la differenza principale tra la creazione di getter e setter invece se si rende pubblico il livello di accesso variabile.
Domanda 2: anche qui ho reso il costruttore parametrizzato corrispondente alle variabili / campi nella classe Student. è questo che butta via il concetto di incapsulamento?