Looking for java Answers? Try Ask4KnowledgeBase
Looking for java Keywords? Try Ask4Keywords

Java LanguageИнкапсуляция


Вступление

Представьте, что у вас был класс с довольно важными переменными, и они были установлены (другими программистами из их кода) на неприемлемые значения. Их код привел ошибки в ваш код. В качестве решения, в ООП, вы позволяете изменять состояние объекта (хранящегося в его переменных) только с помощью методов. Скрытие состояния объекта и обеспечение всего взаимодействия с помощью методов объектов известно как инкапсуляция данных.

замечания

Гораздо проще начать с маркировки переменной private и разоблачить ее, если необходимо, чтобы скрыть уже public переменную.

Существует одно исключение, когда инкапсуляция может оказаться нецелесообразной: «немые» структуры данных (классы, единственной целью которых является сохранение переменных).

public class DumbData {
    public String name;
    public int timeStamp;
    public int value;
}

В этом случае интерфейс класса - это данные, которые он хранит.

Обратите внимание, что переменные, помеченные как final могут быть помечены как public не нарушая инкапсуляцию, поскольку они не могут быть изменены после установки.

Инкапсуляция Связанные примеры