Помогите понять, как правильно применять инкапсуляцию!
Для справки: Я начал изучать Java с нуля. У меня возникли вопросы по моему пониманию инкапсуляции. Как пользоваться геттерами сеттерами и конструкторами, я знаю. А вот в таком случае я не знаю как правильно сделать. Пример:
public class Main {
public static void main(String[] args) {
Test test = new Test();
test.ExecuteTestOne();
}
}
class Test {
public void ExecuteTestOne() {
TestOne();
}
private void TestOne() {
int a = 1;
int b = 2;
int result;
result = a + b;
System.out.println(result);
}
}
Если для вызова метода я использую "ExecuteTestOne()", это можно считать инкапсуляцией данных?
Ответы (2 шт):
Автор решения: Barmaley
→ Ссылка
Строго говоря, private метод не является формой инкапсуляции. Но смысл в private методах все таки есть:
- приватный метод недоступен для любых внешних классов
- приватный метод невозможно перегрузить
Автор решения: Dmitriy Yasnobulkov
→ Ссылка
Инкапсуляция в своем опредлении имеет дуализм.
- Инкапсуляция это сокрытие данных. И в данном случае чисто технически это выполняется, имеется приватный метод скрытый от внешнего наблюдателя.
- Инкапсуляция это объединение данных и кода. Здесь этого по сути нет, так как класс не имеет полей.