Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/250: Рейтинг темы: голосов - 250, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 88

get и set

30.06.2013, 14:03. Показов 46068. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Объясните, пожалуйста, использование get и set в java. Для чего они служат?
Если можно, с примерами. Заранее благодарен...
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.06.2013, 14:03
Ответы с готовыми решениями:

Union(Set set1, Set set2) и intersect(Set set1, Set set2)
Напишите методы union(Set set1, Set set2) и intersect(Set set1, Set set2), реализующих операции объединения и пересечения двух множеств....

Ошибка SQL запрос: SET CHARACTER SET 'utf8';
Два года назад на одном из форумов некто задал вопрос (см. ниже), на который так никто и не ответил. У меня сейчас точная копия проблемы....

Чем отличается guid id {get; set;} от int id {get; set;}
Подскажите пожалуйста чем отличается guid id {get; set;} от int id {get; set;}?

36
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
02.07.2013, 17:19
Студворк — интернет-сервис помощи студентам
мы имеем следующее:
Цитата Сообщение от mutagen Посмотреть сообщение
гетеры и сетеры обязательное и стандартизированное условие
Цитата Сообщение от mutagen Посмотреть сообщение
тоесть непонятно, толи жёстко по конвенции или всётаки можно чудить
Цитата Сообщение от mutagen Посмотреть сообщение
надо проверить референсный вариант с полями и без гетеров и с изменёнными vasiaGeterami
извините за предвзятость, но разве после всего этого, вы всерьез можете говорить мне такие вещи:
Цитата Сообщение от mutagen Посмотреть сообщение
хотелось бы чтобы объясняющий сам понимал то о чём говорит
вы двояко отвечаете на один и тот же вопрос, это раз; вы никогда даже не пробовали сделать то, о чем я написал.
Цитата Сообщение от mutagen Посмотреть сообщение
надо проверить референсный вариант с полями и без гетеров и с изменёнными vasiaGeterami
как тогда скажите мне судить ваш уровень знаний? и стоит ли вообще?
Вот интересно, говорите "хотелось что бы знал", а когда кто то задает вопрос на специализированном форуме тут же летит кучка чудесных ответов, мол, да ты немощный, ищи в интернете, тебя что в гугле забанили?, или еще лучше - это ссылки на википедию и на километровые доки исходников на оракле, это же гениально! А когда кто то пытается помочь, обяснив подробно на пальцах русским языком, его тут же, как по звонку, спешат заклевать и затролить целая куча профессионалов, гениев и детей индиго, ссылка на википедию которых была самой первой в качестве ответа.., как я люблю этот форум и этих людей
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.07.2013, 17:29
Цитата Сообщение от Olllolll Посмотреть сообщение
как я люблю этот форум и этих людей
А я "люблю" людей, которые делают выводы при недостатке информации.

То, что писал mutagen, бредом кажется только Вам. Ибо для Вас, как Вы сами сказали, половина аббревиатур - пустой звук. И спецификацию JavaBeans Вы, я более чем уверен, не видели. И что такое Introspector - не в курсе.

Я могу, конечно, расшифровать. Но не уверен, что Вы и в таком варианте поймете. mutagen имел в виду, что во всех фраймворках внешне полагаются на спецификацию именований методов-свойств по JavaBeans. Но нигде не сказано в явном виде, поддерживается ли JavaBeans полностью, вместе с интроспекцией, или же оттуда взяли просто именования. В первом случае - можно чудить. Во втором - нет. Именно это и хотел проверить mutagen. Хотя в реальности это мало кому в голову не придет - называть методы не по спецификации. Просто потому, что она логична и естественна.

как тогда скажите мне судить ваш уровень знаний? и стоит ли вообще?
Не стоит. Вы не сможете адекватно оценить то, что находится за пределами Вашего понимания.
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
02.07.2013, 18:31
Кликните здесь для просмотра всего текста
Цитата Сообщение от Skipy Посмотреть сообщение
Сообщение от Olllolll
как я люблю этот форум и этих людей
А я "люблю" людей, которые делают выводы при недостатке информации.
То, что писал mutagen, бредом кажется только Вам. Ибо для Вас, как Вы сами сказали, половина аббревиатур - пустой звук. И спецификацию JavaBeans Вы, я более чем уверен, не видели. И что такое Introspector - не в курсе.
Я могу, конечно, расшифровать. Но не уверен, что Вы и в таком варианте поймете. mutagen имел в виду, что во всех фраймворках внешне полагаются на спецификацию именований методов-свойств по JavaBeans. Но нигде не сказано в явном виде, поддерживается ли JavaBeans полностью, вместе с интроспекцией, или же оттуда взяли просто именования. В первом случае - можно чудить. Во втором - нет. Именно это и хотел проверить mutagen. Хотя в реальности это мало кому в голову не придет - называть методы не по спецификации. Просто потому, что она логична и естественна.
как тогда скажите мне судить ваш уровень знаний? и стоит ли вообще?
Не стоит. Вы не сможете адекватно оценить то, что находится за пределами Вашего понимания.


Как раз о таких умниках как вы я и писал выше, вы видимо не все прочитали, они все-все знают, но рассказать, то ли стесняются, то ли жалко им поделиться своими могучими знаниями, то ли их попросту нет. В знаниях модератора я нисколько не сомневаюсь, но вы так слепо судите других людей, такое чувство что основная миссия - это прийти потролить, показать какой же я "эксперт" (покабудке конечно же эксперт), и какие все немощные.
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
02.07.2013, 19:14
Цитата Сообщение от Olllolll Посмотреть сообщение
они все-все знают, но рассказать, то ли стесняются, то ли жалко им поделиться своими могучими знаниями, то ли их попросту нет.
вы погуглите те аббревиатуры, посмотрите на объемы туториалов, накинте порядка 200% объема эмулируя средний опыт работы с технологией, а потом подумайте как это описать в пару абзацев да так что бы понял новичек на форуме. вы сразу поймете почему эти "умники" никому ничего не рассказывают, а только посылают в гугл и злятся, что вокруг все тупые, когда к ним кто-то обращается за помощью до попытки найти что-то в инете или почитать книжку
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
02.07.2013, 19:25
Цитата Сообщение от Olllolll Посмотреть сообщение
но вы так слепо судите других людей, такое чувство что основная миссия - это прийти потролить, показать какой же я "эксперт" (покабудке конечно же эксперт), и какие все немощные.
Даже не зная Skipy лично и основывая своё мнение на его постах и статьях, я как модератор могу вас уверить что он эксперт.
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
02.07.2013, 19:27
а я?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
02.07.2013, 19:32
Цитата Сообщение от AckiyBolt Посмотреть сообщение
а я?
на тебя вроде наезда и не было )))
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
02.07.2013, 19:33
Цитата Сообщение от AckiyBolt Посмотреть сообщение
вы погуглите те аббревиатуры, посмотрите на объемы туториалов, накинте порядка 200% объема эмулируя средний опыт работы с технологией, а потом подумайте как это описать в пару абзацев да так что бы понял новичек на форуме. вы сразу поймете почему эти "умники" никому ничего не рассказывают, а только посылают в гугл и злятся, что вокруг все тупые, когда к ним кто-то обращается за помощью до попытки найти что-то в инете или почитать книжку
я не говорю о конкретно этой ситуации, а в целом, когда люди заходят на форум что бы увидеть не верхушку айсберга (то что они прочитали в википедии или в ссылке с 2-10ую в которых цитаты из той самой первой ссылки 1. Википедия), а немного глубже, вкратце и своими словами, как человек который много, или не очень, лет работы в этой среде видит ту или иную ситуацию своими глазами. Так нет же, они "эксперты" и не найдут столько времени что бы обяснить, зато, когда какой то там дилетант попытается вставить свои 5 копеек, что бы попросту на примере показать что гет/сет это не какая то конкретная жесткая "система", а простой метод который пишется так-то так-то, то у них чудом находится время что бы строчить, вот уже на протяжение целого дня, всяческую чепуху.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
02.07.2013, 19:35
Цитата Сообщение от Olllolll Посмотреть сообщение
о у них чудом находится время что бы строчить, вот уже на протяжение целого дня, всяческую чепуху.
указать на ошибку легче чем писать пространные объясняющие опусы.
опять же никто не снимал с вас обязанности читать доки, вспомните словосочетание RTFM, оно появилось лет 20 назад и до сих пор актуально )
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
02.07.2013, 19:46
Цитата Сообщение от mutagen Посмотреть сообщение
указать на ошибку легче чем писать пространные объясняющие опусы.
то есть если человек задал вопрос - все молчат.
когда кто то ответит на вопрос - соберется консилиум "экспертов" которые начнут указывать на ошибки того кто ответил? гениально!!!

Добавлено через 4 минуты
та если бы указывали на ошибки, так они же просто тролят, а если попробовать завести с ними дискуссию, так они еще и огрызаются брызжа слюной и швыряясь ссылками на многострадальную википедию, или отправляют читать доки
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
02.07.2013, 19:55
Цитата Сообщение от Olllolll Посмотреть сообщение
так они еще и огрызаются брызжа слюной
 Комментарий модератора 
пользуясь должностными полномочиями, предлагаю прекратить офтоп обсуждение как бесперспективное
1
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
02.07.2013, 23:41
а я последний пост напишу со ссылкой тему с примером, почему префиксы get и set - имеют значение:
вот этот пост и предыдущий
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
03.07.2013, 10:35
Проверил я хибернейт на предмет гетеров и сетеров, результаты такие:

Если маппинг через hbm, то гетеры и сетеры по стандарту бинов - обязательное условие (переименование недопустимо).
Если же через аннотации, то гетеры и сетеры вообще не нужны, так как всё делается через рефлекшен и прокси класс.

Отсюда вывод, даже если создать аксессоры с левыми именами не по стандарту бинов, то они будут просто методами и фреймворк их будет игнорировать. В таком случае их нельзя считать полноценными аксессорами, поэтому идея с переименованием несостоятельна.
0
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
03.07.2013, 11:08
Цитата Сообщение от mutagen Посмотреть сообщение
Проверил я хибернейт на предмет гетеров и сетеров, результаты такие:
Если маппинг через hbm, то гетеры и сетеры по стандарту бинов - обязательное условие (переименование недопустимо).
Если же через аннотации, то гетеры и сетеры вообще не нужны, так как всё делается через рефлекшен и прокси класс.
Отсюда вывод, даже если создать аксессоры с левыми именами не по стандарту бинов, то они будут просто методами и фреймворк их будет игнорировать. В таком случае их нельзя считать полноценными аксессорами, поэтому идея с переименованием несостоятельна.
отсюда вывод:
сомневаюсь что тот кто не знает что такое гет и сет, сразу полезет туда куда вы залезли с ними, предполагаю что он даже не знал что такое аксессоры, бины, фреймворки, маппинг, хбм, аннотации. Так что проще обяснить доступным языком, для начала этих знаний ему бы с головой хватило.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
03.07.2013, 12:37
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Olllolll Посмотреть сообщение
то есть если человек задал вопрос - все молчат. когда кто то ответит на вопрос - соберется консилиум "экспертов" которые начнут указывать на ошибки того кто ответил? гениально!!!
Я ох...ю, дорогая редакция!

1. Человек задал вопрос в воскресенье днем. Вы действительно думаете, что экспертам делать нечего, кроме как сидеть круглосуточно в форуме и ждать, когда кто-нибудь о чем-нибудь спросит? И тем не менее - через два (!) часа человек получил исчерпывающий ответ - две ссылки на википедию, досконально объясняющие что это такое и зачем.

2. Уже ПОСЛЕ этого ответа вылезли Вы - и ответили, прямо скажем, безграмотно, ввиду недостатка знаний. Именно потому на ВАШИ ошибки и указали - чтобы не вводить в заблуждение автора темы.

3. Вместо того, чтобы послушать умных людей и изучить - хотя бы поверхностно - те технологии, названия которых являются для Вас пустым звуком, Вы продолжаете нести чушь и одновременно начинаете переходить на личности, когда Вас пытаются остановить.

Более того, Вы даже не берете на себя труд понять, с кем говорите. У меня более 17 лет опыта использования Java, более 2000 сообщений только на этом форуме, под десяток тысяч на еще нескольких, собственный сайт и имя в русскоязычном Java-сообществе. Всё это "кагбэ намекает" на то, что, во-первых, знаний у меня немножко есть, во-вторых, я ими делюсь охотно. Когда мне не хамят.

Добавлено через 4 минуты
Цитата Сообщение от Olllolll Посмотреть сообщение
отсюда вывод:
сомневаюсь что тот кто не знает что такое гет и сет, сразу полезет туда куда вы залезли с ними, предполагаю что он даже не знал что такое аксессоры, бины, фреймворки, маппинг, хбм, аннотации. Так что проще обяснить доступным языком, для начала этих знаний ему бы с головой хватило.
И снова неправильно. Доступным языком товарищу объяснили во втором сообщении, двумя ссылками на википедию. А то, что потом написали Вы - оно попросту неверно. На Hibernate мир не заканчивается, и даже он в некоторых случаях ТРЕБУЕТ get/set вместо Ваших вассер/петтер. А есть еще куча других фреймворков, которые жестко ориентируются на эту спецификацию.

Добавлено через 18 минут
В общем так.

dimashnurenko, объяснение для Вас.

Как Вы уже, надеюсь, прочитали в википедии, геттер и сеттер используются для эмуляции свойств в Java. Общий принцип - если у нас есть свойство xxx, то метод, устанавливающий значение, должен называться setXxx и иметь один параметр типа этого свойства. Метод, получающий значения должен иметь имя getXxx. Для булевского свойства допустимо isXxx. Обратите внимание на регистр имени свойства - первая буква делается большой. Без специальных телодвижений ограничение на имена жесткое, никаких wasXxx/petXxx.

Более того, специальные телодвижения многие современные фреймворки просто не воспринимают - их создатели начали программировать тогда, когда технология JavaBeans уже почти забылась. В смысле, ее используют, но только частично, и даже не понимая этого. Вкратце - существует возможность задавать любые имена аксессору/мутатору, создав при этом специальный класс с предопределенным именем, оканчивающимся на BeanInfo и реализующий интерфейс BeanInfo, в котором описываются все свойства и для каждого из них указывается метод установки/чтения значения. Еще раз повторю, очень многие фреймворки этого не используют, тем не менее жестко опираясь на концепцию свойств.

Таким образом, единственным гарантированным способом эмулировать свойства в Java является именование методов свойства согласно JavaBeans - с префиксами get(is)/set. Регистр в названии метода и свойства имеет значение.

Эти методы могут даже нигде не использоваться в коде. Реально использование такое - где-нибудь в XML-конфигурации, например, у объекта прописано:

XML
1
<property name="myProperty" type="java.lang.String" value="aaa">
Как это обрабатывает фреймворк. Он берет имя свойства "myProperty", "поднимает" первую букву, приписывает впереди set (привет вассеру-писсеру!) и ищет у объекта метод по имени setMyProperty, с учетом регистра и с параметром типа java.lang.String. Находит - вызывает. Не находит - зависит от фреймворка. Может промолчать, может ошибку выдать.

Резюме. get/set/is-методы - средство, во-первых, инкапсуляции логики получения/изменения значения какого-то поля объекта, и во-вторых, эмуляция механизма свойств. Эти префиксы предопределены и многие фреймворки полагаются только на них и не умеют рассматривать никакие другие. Dixi.

@mutagen, думаю, тему можно закрывать. ТС получил ответ со всех сторон.
3
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
03.07.2013, 13:00
Цитата Сообщение от Skipy Посмотреть сообщение
Я ох...ю, дорогая редакция!
эт само собой, ведь вам делать нечего больше..
я отвечу вам по пунктам в том же порядке:
1. ссылка на википедию.. тут коротко - ЛОЛ!

2.то что у меня недостаточно знаний я соглашусь, но по теме гетеровсетеров, тех знаний что я получил своим приличным как для новичка опытом на данный момент мне хватает, и ему, как новичку, именно такое определение гет/сет-еров было бы наиболее понятным нежели та терминология и те дебри в которые уползли вы и КО.

3.на личности я ни разу не перешел, нести чепуху и говорить что я неуч а вы мосГ начали вы, от чего такая агрессия и пена со рта я до сих пор понять не могу, но это уже скорее связано с воспитанием.
Цитата Сообщение от Skipy Посмотреть сообщение
Более того, Вы даже не берете на себя труд понять, с кем говорите.
уж простите за то что снова "перехожу на личности" но это фраза 15 летнего фаната варкрафта или танчиков.
Цитата Сообщение от Skipy Посмотреть сообщение
У меня более 17 лет опыта использования Java, более 2000 сообщений только на этом форуме, под десяток тысяч на еще нескольких, собственный сайт и имя в русскоязычном Java-сообществе.
Вы хвалитесь как ребенок, повторюсь - 15 летний. Такой сайт как у вас самому можно сделать за пол дня если не меньше, и обойдется он в 5-10$ чисто на хостинг. В наше время сайт себе может позволить каждая бабушка что бы постить там рецепты квашеной капусты. Да, я тоже ерундой занимался как вы, на своем городском форуме около 10 к смс набил, но так и не могу научиться как вы гнобить людей по этому поводу. Ваше имя первый раз увидел только на этом форуме, вы себе явно что то накрутили.
Видите, я же вас не сужу, не оскорбляю, я просто указываю на ваши ошибки как и вы на мои, говорю что эти вещи которые вы перечислили не делают вас мозгом, и как вы любите говорить на вашем родном сленге, "каГбэ" нужно бить человеком, каГбэ.
0
03.07.2013, 13:11
 Комментарий модератора 
Согласен - тема дожила до закрытия
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.07.2013, 13:11
Помогаю со студенческими работами здесь

Чем отличается private set от set?
Чем отличается private set от set? Зачем это вообще используется?

Аналог в VB: Set myfileobject = server.CreateObject('scripting.filesystemobject') Set mytextfile = myfileobject.CreateTextFile('C:1.txt') ?
Mojno li ispol'zovat' v VB shto to identichnoe etim strochkam : Set myfileobject = server.CreateObject('scripting.filesystemobject') ...

Позиция элемента в контейнере STL кон. SET, поиск контейнер set словарь позиция
Есть код №1. Он выводить на экран позицию нужного мне слова (только если в середине 1 слово а не 2 и больше например только...

Объясните ошибку "Нельзя преобразовать тип set of string к set of char"
Помогите пожалуйста найти ошибку в решении этой задачи: Дана непустая последовательность символов. Требуется построить и напечатать...

Чем отличается get{}set{} от get;set;
Всем привет! А чем отличается public DataLog PosledniyLog { get { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
37
Закрытая тема Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru