我在编码时一直试图遵循封装原则。例如,这样做:
公开课学生
private Name As String
public sub setName(ByVal name2 As String)
Name = Name2
End Public
而不是允许客户端直接访问属性,例如:
Dim s1 As Student
s1.Name = "Mark"
所有的书都说遵循选项二是不好的做法,因为这意味着如果您更改类,客户端代码可能会中断。但是,我不完全理解为什么会这样。如果您删除 Name 成员,那么无论您是否允许他们直接访问该属性,客户端代码都会中断。我错过了什么?