再谈访问修饰符——读《你必须知道的.net》

public,具有最高的访问权限,就像是公司的董事会具有最高的决策权与管理权,

 public开放性最大,不管是否同一个程序集或者不管是否继承,都可以访问。

 

 

protected,类似于公司业务部门经理的职责,具有对本部门的直接管辖权,

在面向对象中就体现为子类继承这种纵向关系的访问约定,也就是只要继承了该类,则其对象就有访问父类的权限,而不管这两个具有继承关系的类是否在同一个程序集中。

 

 

internal,具有类比意义的就是 internal类似于公司的职能部门的职责,不管是否具有上下级的隶属
关系,人力资源部都能管辖所有其他部门的员工考勤。这是一种横向的职责关系,

在面向对象中用来表示同一程序集的访问权限,只要是隶属于同一程序集,对象即可访问其属性,而不管是否存在隶属关系。 

 

 

protected internal,可以看做是 protected和internal的并集,就像公司中掌管职能部门的副总经理,从横向到纵向都有管理权。 (可以理解为protected+internal)

 

 

private,具有最低的访问权限,就像公司的一般员工,管好自己就行了。

对应于面向对象的开放性最小。

posted on 2012-06-20 08:05  zhuhai  阅读(137)  评论(0编辑  收藏  举报

导航

我的百度空间