Voj*_*vic 5 java syntax properties
C#具有声明和使用属性的语法.例如,可以声明一个简单的属性,如下所示:
public int Size { get; set; }
Run Code Online (Sandbox Code Playgroud)
还可以在属性中添加一些逻辑,如下所示:
public string SizeHex
{
get
{
return String.Format("{0:X}", Size);
}
set
{
Size = int.Parse(value, NumberStyles.HexNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
无论是否具有逻辑,属性的使用方式与字段相同:
int fileSize = myFile.Size;
Run Code Online (Sandbox Code Playgroud)
我对Java或C#并不陌生 - 我已经使用了很多,而且我总是错过了Java中的属性语法.我已经在这个问题中读到"在Java 7中或者可能永远不会添加属性支持",但坦率地说,我发现在讨论,论坛,博客,评论和JSR中挖掘它们需要做太多工作才能找到答案.为什么.
所以我的问题是:任何人都可以总结为什么Java不太可能获得属性语法?
dsi*_*cha 13
我认为这只是Java对事物的一般哲学.属性有点"神奇",Java的理念是尽可能简化核心语言,避免像瘟疫那样的魔法.这使Java成为一个几乎任何程序员都能理解的通用语言.它还可以很容易地推断出任意孤立的代码片段正在做什么,并且能够提供更好的工具支持.缺点是它使语言更冗长,更不具有表现力.这不一定是设计语言的正确方法或错误方法,这只是一种权衡.
在10年左右的时间里,sun尽可能地抵制语言的任何重大变化.在同一时期,C#已经通过一个引人注目的开发,在每个版本中添加了许多新的酷炫功能.
我认为很久以前火车离开了java中的属性,它们会很好,但是我们有java-bean规范.现在添加属性只会使语言更加混乱.虽然javabean规范IMO远没有那么好,但它必须要做.在宏伟的事物计划中,我认为物业并不是那么相关.java代码中的膨胀是由getter和setter之外的其他东西引起的.
还有更重要的事情要关注,例如获得一个体面的关闭标准.
归档时间: |
|
查看次数: |
3334 次 |
最近记录: |