C # имеет синтаксис для объявления и использования свойств. Например, можно объявить простое свойство, например так:
public int Size { get; set; }
Также можно добавить немного логики в свойство, например:
public string SizeHex
{
get
{
return String.Format("{0:X}", Size);
}
set
{
Size = int.Parse(value, NumberStyles.HexNumber);
}
}
Независимо от того, имеет ли он логику или нет, свойство используется так же, как поле:
int fileSize = myFile.Size;
Я не новичок ни в Java, ни в C # - я довольно часто использовал оба, и мне всегда не хватало синтаксиса свойств в Java. Я прочитал в этот вопрос , что «маловероятно, что поддержка свойств будет добавлена в Java 7 или, возможно, когда-либо», но, честно говоря, я считаю, что это слишком много работы, чтобы копаться в дискуссиях, форумах, блогах, комментарии и JSR, чтобы выяснить, почему.
Итак, мой вопрос: кто-нибудь может подвести итог, почему Java вряд ли получит синтаксис свойства?
- Это потому, что он не считается достаточно важным по сравнению с другими возможными улучшениями?
- Существуют ли технические (например, связанные с JVM) ограничения?
- Это вопрос политики? (например, «Я программирую на Java уже 50 лет, и я говорю, что нам не нужны никакие свойства steenkin!» )
- Это случай велосипедных прогулок ?