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]