Вземете и задайте метод в Java

Методите

операция

Методите getters и setters, или методите за "достъп", осигуряват достъп до свойствата на даден обект. Методът за получаване връща стойността на собственост на обект. Методът get има тип връщане, който е свързан с асоциирания тип променлива-член. Методите за получаване обикновено не вземат никакви параметри. Наборът на метода има връщане на типа "void" и отнема параметър от подходящия тип, който се присвоява на съответната членна променлива.

конвенции

Методите за достъп се използват от външните обекти и следователно те се обявяват като "публични" методи (външно видими). Приетата конвенция е да назовете и да зададете методи за асоциираната членна променлива (например "getName" и "setName", свързани с променливата "name") с префикс "get" или "set". Не всички променливи на членове могат да имат асоциирани методи за достъп. Тези методи са написани само за стойностите, които трябва да бъдат достъпни външно.

предназначение

Ограничаването на достъпа до променливите елементи на даден обект е част от практика, известна като "капсулиране". Капсулирането разделя компонентите на обект, скрива изпълнението (вътрешната работа) на обекта, което не е необходимо да бъде външно видимо, и защитава вътрешните данни от модификации без разрешение. Методите за достъп могат да извършват изчисления, валидации или други действия, които биха били избегнати, като директорите на променливите са директно достъпни.

ползи

Защитата на елемента с променливи, която използва методи за достъп, позволява на програмистите лесно да променят вътрешния код, без да променят начина, по който класата се използва от другите. Това предотвратява необходимостта от промяна на кода чрез приложение, когато класът се промени. Приемателите могат да извършват изчисления и действия, необходими за създаване на стойност, като минимизират количеството външен код, необходим за използване на стойността. Setters могат да извършват валидиране и да предотвратяват грешки, причинени от променливи на член, които установяват невалидни стойности.

съображения

Добавянето на методи за достъп до класа трябва да се извършва консервативно. Само променливите на член, които изискват външен достъп, трябва да имат методи за достъп. Свойствата, които трябва да бъдат променени само чрез вътрешна работа, не се нуждаят от настройки. Свойства, които нямат външно значение, не трябва да имат получатели. Тази практика минимизира експозицията на изпълнението на обект и защитава свойствата от модификации, които биха могли да доведат до грешки при изпълнението. Колкото по-малко са публичните методи, толкова по-лесно е да се запази кодът.