一直不是很明白为什么要有访问权限的管理,今天看完《java编程思想》的第五章,算是有了个大致的了解了吧。
现在自己写的一些小程序都是给自己用的,而且都在一台电脑上,很少会有要同步更新这一类的问题。但是往往以后实际生活中真正使用的大型系统是分布式的,而且有不同类别的使用人员。
当创建了一个程序库,也就与该程序库的用户建立了某种关系,这些用户就是客户端程序员,他们是另外一些程序员,他们将你的程序聚合成为一个应用程序,或者运用你的程序来创建更大的程序库。
如果不制定规则,客户端程序员就可以对所有成员随心而为。在这种情况下,所有事物都是公开的。综上,控制对成员的访问权限由两个原因:
1、为了使用户不要碰触那些他们不该碰触的工具:工具对于数据类型内部的操作是必要的,但是它并不属于用户在解决他们的特定问题时所需接口的一部分。因此,将方法和字段制定成private,对用户而言是一种服务,因为这样他们可以很清楚的看到什么对他们重要,什么是可以忽略的,这样简化了他们对类的理解。
2、为了让程序库设计者可以更改类的内部工作方式,而不必担心这样会对客户端程序员产生重大的影响。
现在自己写的一些小程序都是给自己用的,而且都在一台电脑上,很少会有要同步更新这一类的问题。但是往往以后实际生活中真正使用的大型系统是分布式的,而且有不同类别的使用人员。
当创建了一个程序库,也就与该程序库的用户建立了某种关系,这些用户就是客户端程序员,他们是另外一些程序员,他们将你的程序聚合成为一个应用程序,或者运用你的程序来创建更大的程序库。
如果不制定规则,客户端程序员就可以对所有成员随心而为。在这种情况下,所有事物都是公开的。综上,控制对成员的访问权限由两个原因:
1、为了使用户不要碰触那些他们不该碰触的工具:工具对于数据类型内部的操作是必要的,但是它并不属于用户在解决他们的特定问题时所需接口的一部分。因此,将方法和字段制定成private,对用户而言是一种服务,因为这样他们可以很清楚的看到什么对他们重要,什么是可以忽略的,这样简化了他们对类的理解。
2、为了让程序库设计者可以更改类的内部工作方式,而不必担心这样会对客户端程序员产生重大的影响。