请看看这个简单的实现客户类:封装有关自动属性
class Customer
{
public double TotalPurchases { get; set; }
public string Name { get; set; }
public int CustomerID { get; set; }
public Customer(double purchases, string name, int ID)
{
TotalPurchases = purchases;
Name = name;
CustomerID = ID;
}
}
我注意到,有一个get和客户名称设置选项。假设我需要更改客户名称。
是不是更容易接受像这样通过的方法改变客户名称:
public void changeName(string name)
{
this.Name = name;
}
Customer cus = new Customer(5,"John",5005);
cus.changeName("Jim");
还是可以接受的只是在做改变它:
cus.Name = "Jim";
说我需要做一些事情,如授权名称是一个真正的名称之前设置它我应该使用的方法? – William
我会使名称只读(getter唯一属性),并使公共布尔SetNameIfAuthorized(字符串名称) – TakeMeAsAGuest