在处理商业类时,比如典型的Customer和Employee类,最好只使用getter和setter还是使用属性?
我正在翻译Delphi(用于自学)一些来自java书籍的OO示例,在这些示例中总是有GetName()和SetName(),不使用属性.
现在,我可以看到,如果我创建一个具有已发布属性的组件,我有一个很好的理由使用属性,但在正常的类中,哪种方法更好?使用getter和setter(强调我们正在读/写属性的事实)或属性(乍一看可能与无参数方法混淆)的代码是否更易读?
我只是想知道为什么我应该在类中使用属性而不是"普通"变量(类属性?).我的意思是:
TSampleClass = class
public
SomeInfo: integer;
end;
TPropertyClass = class
private
fSomeInfo: integer;
public
property SomeInfo: integer read fSomeInfo write fSomeInfo;
end;
Run Code Online (Sandbox Code Playgroud)
有什么大不同?我知道我可以分别定义获取或保存属性的getter和setter方法,但即使没有变量是"属性",这也是可能的.
我试着搜索为什么要使用它,但没有任何有用的东西出现,所以我在这里问.
谢谢
我已经为给定的类声明了私有字段和公共属性.
从其他单位我可以通过提供访问权限的公共财产访问该字段.
但是在声明此类的同一单元内,我可以选择直接或通过属性访问该字段.
建议的最佳实践是什么:直接读/写字段或通过提供读写访问权限的属性?