Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Можете объяснить это только попроще и попонятнее т. с для «Чайников»?

Harry Potter Ученик (107), закрыт 6 лет назад
Методы Getter и Setter используются для эффективной защиты информации, в части касающейся создания классов. Для каждой переменной метод get возвращает ее значение, а метод set устанавливает значение.

Getter начинается с get, за ним следует имя переменной, с первой буквой в верхнем регистре.

Setter начинается с set, за ним следует имя переменной, с первой буквой в верхнем регистре.

Пример: public class Vehicle {
private String color;

// Getter
public String getColor() {
return color;
}

// Setter
public void setColor(String c) {
this.color = c;
}
} Метод getter возвращает значение атрибута.

Метод setter принимает параметр и присваивает его к атрибуту.
Ключевое слово this используется для ссылки на текущий объект. Проще говоря, this.color является атрибутом color текущего объекта.
Лучший ответ
Krab Bark Искусственный Интеллект (296495) 6 лет назад
Для снижения опасности ошибок в программах при работе со значениями, записанными в классах (полями классов), вместо прямого доступа к полям класса обычно используются встроенные в класс функции для чтения и записи в поля (методы), в которые можно при желании вставить различные проверки и ограничения. Использование вместо прямого доступа к полям класса этих функций, имена которых стандартно начинаются с get и set, повышает надежность работы с классом.
Остальные ответы
Голова Робота Просветленный (36364) 6 лет назад
1. Это не JavaScript, а Java
2. Объяснение тут не очень (например, "защитой информации" обычно называют совсем другие вещи), но смысл понять можно. Поищи другую книгу, где лучше объясняется. Спрашивай, что непонятно.
Пара геттер-сеттер обычно называется свойством (а не переменной). Свойство заменяет поле для пользователей класса. Вместо обращения к полю color внешние классы вызывают эти функции.
Голова РоботаПросветленный (36364) 6 лет назад
Неверно думать, что геттер и сеттер всегда работают с полем класса. Чаще всего это так, но могут быть и другие случаи.
̑̈☣̑̋̑̎̑̈ ☠̤̥̤̭̤ ☢J̯̤ͣͮͣ̐̈ Высший разум (160387) Наглядный пример написанный мной для каких целей можно использовать геттеры и сеттеры a={ c:10, get b(){return Math.floor(Math.random()*(this.c + 1))}, set b(a){this.c=a} } console.log(a.b,a.b,a.b,a.b); a.b=1000; console.log(a.b,a.b,a.b,a.b); ⚤
Drumpel Гуру (4165) 6 лет назад
Я не спец. Сам учу. Как я понял смцсл существования геттеров и сеттеров состоит в тгм что нельзя просто так менять значения переменных принадлежащих обьектов. Для этого есть специальные функции геттеры и сеттеры. Вот пример у вас есть гбьект танк и у него есть переменная хранящая скорость этого танка. Если просто изменить значение скорости с нуля до ста кмч танк не поедет не начнется анимация. Нужно чтобы при обновлении значения скорости запускалась специальная функция которая в зависимости от значения переданной скорости решит что нужно запускать анимацию. Это функция сеттер.
̑̈☣̑̋̑̎̑̈ ☠̤̥̤̭̤ ☢J̯̤ͣͮͣ̐̈ Высший разум (160387) 6 лет назад
Гететтеры и Сетеры эта функции но выглядят как переменные геттеры возвращают значения сеттеры вводят значения в функцию

Вот пример написания простой геттеры сеттеры

a={
c:10,
get b(){return Math.floor(Math.random()*(this.c + 1))},
set b(a){this.c=a}
}

//Теперь если вызывать её таким способом будет выводится случайное число от 0 до 10
console.log(a.b);
//а если сделать так
a.b=1000;
а потом так
console.log(a.b);
//то теперь будут генерироваться числа от 0 до 1000 сколько раз тыб её не вызвол

Голова РоботаПросветленный (36364) 6 лет назад
Пример интересный, но он на JavaScript, а в вопросе Java (хотя помещён в раздел JavaScript). В Java нет поддержки свойств, геттер/сеттер - это просто два метода. Они являются свойством в голове у программиста. И фреймворки понимают эту пару методов как свойство.
̑̈☣̑̋̑̎̑̈ ☠̤̥̤̭̤ ☢J̯̤ͣͮͣ̐̈ Высший разум (160387) ну это скорей для удоства можно обойтись и без них хотя так порикольней и геттер и сеттеры можно использовать по отдельности также сесть глобальные сеттеры и гетеры их тоже можно переписать а на прямую изменить значения неполучется ⚤
Azimut AktauУченик (101) 6 лет назад
а в каком месте их писать, в любом?
Похожие вопросы