Я из мира php. Не могли бы вы объяснить, что такое геттеры и сеттеры, и привести несколько примеров?
Переведено автоматически
Ответ 1
Для этого на самом деле не требуется руководство. Прочитайте о инкапсуляции
private String myField; //"private" means access to this is restricted to the class.
public String getMyField() { //include validation, logic, logging or whatever you like here returnthis.myField; } publicvoidsetMyField(String value) { //include more logic this.myField = value; }
Ответ 2
В Java геттеры и установщики - это совершенно обычные функции. Единственное, что делает их получателями или установщиками, - это соглашение. Средство получения для foo называется getFoo, а средство установки называется setFoo . В случае логического значения средство получения называется isFoo . У них также должно быть конкретное объявление, как показано в этом примере средства получения и установки для 'name':
Причина использования геттеров и установщиков вместо того, чтобы делать ваши элементы общедоступными, заключается в том, что это позволяет изменять реализацию без изменения интерфейса. Кроме того, многие инструменты и подборки инструментов, которые используют отражение для проверки объектов, принимают только объекты, у которых есть геттеры и установщики. Например, у JavaBeans должны быть геттеры и установщики, а также некоторые другие требования.
Хотя методы получения / установки являются обычным явлением в Java, они не являются особенно объектно-ориентированными (OO). Фактически, они могут повредить сопровождаемости вашего кода. Более того, наличие многочисленных методов получения и настройки является красным знаком того, что программа не обязательно хорошо спроектирована с точки зрения OO.
В этой статье объясняется, почему вам не следует использовать геттеры и сеттеры (и когда вы можете их использовать), и предлагается методология проектирования, которая поможет вам избавиться от менталитета геттера / сеттера.