Enkapsulyasiya OOP-nin əsas prinsiplərindən biridir və classı arzuolunmaz davranışlardan qorumaq məqsədi ilə istifadə olunur. Classın dəyişənləri private olur və həmin dəyişənlərə ancaq classın daxilində yaradılmış public getter/setter metodları vasitəsilə müraciət etmək mümkün olur. Məqsəd həmin dəyişənlərə doğru olmayan dəyərlər mənimsədilməsinin qarşısını almaqdır.
public class Course {
private int countStudents;
public int getCountStudents() { // also called accessor
return countStudents;
}
public void setCountStudents(int countStudents) { // also called mutator
if(countStudents >= 0) // mənfi say qəbul edilməsinin qarşısını almaq
this.countStudents = countStudents;
}
}
Enkapsulyasiya olunmuş classlar JavaBeans və həmin classın instance dəyişənləri isə property adlanır. İmtahanda JavaBeans ilə bağlı bilməli olduğumuz yeganə şey adlandırma qaydalarıdır (naming conventions). Həmin qaydalar aşağıda göstərilib*:
Boolean dəyərlər ilə getter metodlarda prefix kimi adətən "is" istifadə olunur, amma "get" də istifadə edilə bilər, bununla bağlı məhdudiyyət yoxdur.
Nümunələrə baxaq:
private boolean playing;
private String name;
public boolean isPlaying() { return playing; }
public String name(){ return name; }
public void updateName(String n) { name = n; }
public void setname(String n) { name = n; }
Line 3, 4, 5 – adlandırma qaydalarına uyğundur (follow naming conventions);
Line 6, 7, 8 – adlandırma qaydalarına uyğun deyil (don’t follow naming conventions).
[topics lang=az]

