java – 属性的动机是什么?
发布时间:2020-12-15 02:07:24 所属栏目:Java 来源:网络整理
导读:我有点困惑为什么语言有这些.我是一名 Java程序员,在我职业生涯的开始阶段,所以Java是我写的唯一一种语言,因为我开始实际上,你知道,得到它. 所以在Java中我们当然没有属性,我们编写了getThis()和setThat(…)方法. 拥有房产我们会得到什么? 谢谢. 编辑:另一
我有点困惑为什么语言有这些.我是一名
Java程序员,在我职业生涯的开始阶段,所以Java是我写的唯一一种语言,因为我开始实际上,你知道,得到它.
所以在Java中我们当然没有属性,我们编写了getThis()和setThat(…)方法. 拥有房产我们会得到什么? 谢谢. 编辑:另一个问题:具有属性的语言中出现了哪些命名约定? 解决方法
哪一个看起来更自然?
// A person.setAge(25) // B person.age = 25; // or person.Age = 25; //depending on conventions,but that's beside the point 大多数人会回答B. 这不仅是语法糖,它在做反射时也有帮助;实际上,您可以在不依赖方法名称的情况下区分数据和操作. 以下是C#中不熟悉属性的示例: class Person { public int Age { set { if(value<0) throw new ArgumentOutOfRangeException(); OnChanged(); age = value; } get { return age; } } private int age; protected virtual void OnChanged() { // ... } } 此外,大多数人总是使用属性而不是稍后推广公共成员,原因与我们总是使用get / set相同;没有必要重写绑定到数据成员的旧客户端代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |