在C#(ASP.NET)中,我们使用getter和setter方法来设置私有变量的属性,但如果我们将该变量声明为public,则可以执行相同的操作。因为在一端我们通过将其声明为私有来限制用户访问该变量,而在另一端我们允许用户通过使用getter和setter属性来访问这些属性。我无法理解它的意义。
答案 0 :(得分:4)
使用getter和setter隐藏类的内部实现。这意味着在setter的set方法中,您可以运行整个算法来将输入数据解析为内部数据结构。您将能够在不影响用户的情况下更改您的实施。
现在,如果您将内部成员公开为公开,则无法再隐藏它们,并且您对类内部定义所做的任何更改都可能会破坏用户的使用。
答案 1 :(得分:3)
在C#中,首选方法是使用Properties。
这样做的好处是它暴露了获取(或设置)数据的便捷方式,但没有暴露类的实现细节。
属性或getter或setter可以实现其他逻辑,例如:
通过执行此操作,您可以从实现中将界面分离到您的类中,从而可以轻松地更改代码在内部的工作方式以及公共访问方式。
答案 2 :(得分:0)
因为它允许您在继承的类中覆盖这些属性,所以在以后添加validation / INotifyPropertychanged处理程序,并保留版本之间的二进制兼容性