Sobes.tech
Intern

Бағдарламалауда инкапсуляция дегеніміз не?

sobes.tech AI

AI-дан жауап

Инкапсуляция — бұл деректер мен оларға жұмыс істейтін әдістерді бір блокқа (сыныпқа) біріктіру және ішкі жүзеге асыру бөлшектерін сыртқы әлемнен жасыру механизмі.

Негізгі аспектілер:

  • Деректерді жасыру: Сыныптың өрістері әдетте private немесе protected ретінде жарияланады, сырттан тікелей қол жеткізуді шектеу үшін. Қолжетімділік қолжетімділік әдістері (геттерлер мен сеттерлер) арқылы жүзеге асырылады.
    public class Person {
        private String name; // Деректерді жасыру
    
        public String getName() { // Геттер
            return name;
        }
    
        public void setName(String name) { // Сеттер
            this.name = name;
        }
    }
    
  • Біріктіру: Объектінің деректері (айнымалылар) және мінез-құлқы (әдістері) бір сыныпта жинақталады.
  • Қолжетімділікті бақылау: Инкапсуляция деректерді қалай өзгерту немесе оқу керектігін бақылауға мүмкіндік береді, деректердің тұтастығын қамтамасыз етеді. Мысалы, сеттерде тексерулер қосуға болады:
    public void setAge(int age) {
        if (age > 0) { // Мәнді орнатпас бұрын тексеру
            this.age = age;
        } else {
            System.out.println("Жас оң сан болуы керек.");
        }
    }
    

Артықшылықтары:

  • Модульдік: Кодты түсінуді және қолдауды жеңілдетеді.
  • Деректерді қорғау: Деректердің дұрыс емес өзгеруін болдырмайды.
  • Икемділік: Ішкі жүзеге асыруды өзгертуге мүмкіндік береді, сыныпты қолданатын басқа кодқа әсер етпестен, егер жария API (қолжетімділік әдістері) сақталса.
  • Қайталау: Инкапсуляцияланған компоненттерді басқа бөлімдерде пайдалану оңайырақ.

Инкапсуляция — объекті-бағытталған бағдарламалаудың үш негізгі принципінің бірі (мұрагерлік пен полиморфизммен бірге).