Bon*_*nev 4 c# c++ properties class
所以我知道类和结构是数据的结构.类字段默认为私有字段和结构字段 - 公共字段.喜欢public: / int a;C++和public int a;C#
但是访问这些字段的其他方法是将它们设为私有并使用函数/方法.喜欢SetValue(int value){a = value;}和/ GetValue() { return a; }或者我甚至听说过{set; get;}C#的新酷.
但为什么呢?许多人告诉我'其他人可以通过这种方式访问你的变量,所以让他们私有化'.我不明白,它有什么区别让它们公开,只是使用它们obj.a = 3;或让它们变得私密和干嘛obj.SetValue(3);?有人(甚至可以简要地)解释一下这些差异是什么以及如何在他们公开的时候进入这些领域?
您希望使用属性(getter和setter)而不是公共字段(实例变量公开)的原因有很多.他们之中有一些是:
此外,使用属性并没有太多的缺点.所以优点胜过缺点.