Java и C # -подобные свойства - PullRequest
16 голосов
/ 22 февраля 2010

Поддерживает ли Java встроенные свойства, такие как C #? Или при кодировании на Java, когда вы пытаетесь инкапсулировать переменные, вы вынуждены делать это с помощью getVariable() и setVariable() своего рода методов?

Спасибо

Ответы [ 5 ]

18 голосов
/ 22 февраля 2010
нет

Нет

У вас нет концепции свойств в языке Java. Вам нужно использовать геттеры и сеттеры ..

4 голосов
/ 22 февраля 2010

Как говорили другие, ни у одной Java нет свойств как таковых. Принятым методом является использование геттеров и сеттеров. Кроме того, Delphi поддерживает свойства, очень похожие на C #.

Определенно ничего подобного AutoProperties не поддерживается в Java. Кажется, я не могу найти упоминаний о какой-либо поддержке в будущем.

4 голосов
/ 22 февраля 2010

Java не поддерживает C # -подобные свойства. Вам нужны геттеры и сеттеры, но будьте осторожны, чтобы случайно не дать пользователю доступ к инкапсулированным данным, возвращая ссылку на объект вместо ссылки на его копию.

2 голосов
/ 22 февраля 2010

В последний раз, когда я проверял, Java не поддерживает свойства.

0 голосов
/ 23 февраля 2010

Свойства C # похожи на свойства Delphi по той простой причине, что они были вдохновлены свойствами Delphi. Перемещение одного из ключевых людей из команды Borland в Delphi в Microsoft и (помощь) в разработке C #, разумеется, не имеет к этому никакого отношения:)

В прошлом году было предложение (на самом деле несколько) о добавлении свойств стиля C # в Java, но сообщество фактически расстроило их как простой синтаксический сахар без реальной добавленной стоимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...