Согласно концепциям ООП, инкапсуляция рассматривается как определенные частные переменные и общедоступные методы получения и установки.
Пример:
public class Student {
private String name;
private int id;
public void setName(String name){
name = this.name;
}
public void setID(int Id){
id= this.id;
}
public String getName(){
return name;
}
public int getID(){
return id;
}
}
Но если бы я написалэтот код следующим образом, могу ли я сказать, что этот класс следует концепции инкапсуляции?
Поскольку здесь мы возвращаем имя отдела с помощью открытого метода.
public class Student {
private department;
public String getDepartmentOfStudent(String name){
// write java code to get department name based on name from DB
return department;
}
}
Случай II: Если частная переменная department
не был объявлен и просто возвращает значение, полученное из БД. Можно ли сказать, что этот класс следует за инкапсуляцией?