<分区>
在以下示例中使用 get 和 set 属性有什么好处?:
class Program
{
public class MyClass
{
private int age;
public int persons_age
{
get
{
return age;
}
set
{
age = value;
}
}
}
static void Main(string[] args)
{
MyClass homer = new MyClass();
homer.persons_age = 45; //uses the set property
homer.persons_age = 56; //overwrites the value set by the line above to 56
int homersage=homer.persons_age; //uses the get property
Console.WriteLine(homersage);
}
}
这样做和下面的有什么区别?:
public class MyClass
{
public int age;
}
static void Main(string[] args)
{
MyClass homer = new MyClass();
homer.age = 45;
homer.age = 56; //overwrites the value set by the line above to 56
int homersage=homer.age;
Console.WriteLine(homersage);
}
当上述两个程序的作用完全没有区别时,使用 get 和 set 属性有什么好处?与客户端通过某些逻辑检查通过 set 方法将值分配给字段的能力有限的情况不同,在这种情况下,我看不到此处显示的两个程序之间有任何功能差异。
此外,如果此类属性未用于类字段,一些编程书籍会使用短语“...破坏客户端代码”。有人可以解释一下吗?
谢谢。