Krab Bark
Искусственный Интеллект
(296495)
6 лет назад
Для снижения опасности ошибок в программах при работе со значениями, записанными в классах (полями классов), вместо прямого доступа к полям класса обычно используются встроенные в класс функции для чтения и записи в поля (методы), в которые можно при желании вставить различные проверки и ограничения. Использование вместо прямого доступа к полям класса этих функций, имена которых стандартно начинаются с get и set, повышает надежность работы с классом.
Голова Робота
Просветленный
(36364)
6 лет назад
1. Это не JavaScript, а Java
2. Объяснение тут не очень (например, "защитой информации" обычно называют совсем другие вещи), но смысл понять можно. Поищи другую книгу, где лучше объясняется. Спрашивай, что непонятно.
Пара геттер-сеттер обычно называется свойством (а не переменной). Свойство заменяет поле для пользователей класса. Вместо обращения к полю color внешние классы вызывают эти функции.
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 нет поддержки свойств, геттер/сеттер - это просто два метода. Они являются свойством в голове у программиста. И фреймворки понимают эту пару методов как свойство.
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 текущего объекта.