Автор оригинала: Pankaj Kumar.
Что такое инкапсуляция?
- Инкапсуляция-один из способов достижения абстракции в объектно-ориентированном программировании.
- Это одна из основных концепций УПС парадигмы.
- Инкапсуляция-это процесс сокрытия свойств объектов от внешнего мира и предоставления методов доступа к ним.
- Это механизм для объединения данных и функций, которые работают с ними.
- Инкапсуляция скрывает данные объектов, поэтому она также называется сокрытие данных .
Инкапсуляция в Java
Мы можем добиться инкапсуляции в Java, объявив все поля класса закрытыми. Затем предоставьте для них общедоступные методы получения и настройки.
Вот простой пример инкапсуляции в классе Java.
package com.journaldev.oops.encapsulation; public class Data { private int id; private String value; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } }
Преимущества инкапсуляции
Инкапсулированный код слабо связан . Мы можем изменить имя переменной класса, не затрагивая клиентские программы.
Да, вы не можете изменить методы, потому что это может привести к нарушению клиентского кода. Лучшим способом было бы отметить эти методы как устаревшие и предоставить новые методы получения и установки.
Вызывающий абонент не знает, что происходит внутри методов getter и setter. Это делает наш код более безопасным . Мы можем добавить некоторые проверки в методы getter-setter.
- Мы можем легко реализовать контроль доступа для свойств объекта. Если вы не хотите, чтобы какая-либо переменная класса устанавливалась извне, не предоставляйте метод setter.
- Инкапсуляция помогает легко писать модульные тестовые примеры . Рамки модульного тестирования предоставляют способы написания тестовых примеров для методов, а не для полей.
- Инкапсулированный код является многоразовым . Если вы не заметили, то