您的位置:寻梦网首页编程乐园Java天地Core JavaJAVA程序员必读
JAVA程序员必读:基础篇(4)对象和简单数据对象
    
编译:ZSC/太平洋网络学院

对象和简单数据对象

4.1.2.2 关于变量访问

利用其它对象和类对对象变量直接的操作是不允许的,因为有可能为变量设置的数值没有任何的意义。比如,我们使用前面教程中的Rectangle类,你可以创建一个矩形,它的width和height都是负的,但是它是没有意义的。

较好的做法是:不采用直接对变量进行操作,类提供一些方法,其它的对象可以通过这些方法来检查或者改变变量。这些方法要确保变量的数值是有意义的。这样,Rectangle类将提供setWidth、setHeight、getWidth以及getHeight方法来设置或者获得宽度和高度。这些用于设置变量的方法将在调用者试图将width和height设置为负数的时候汇报一个错误。使用方法而不使用直接变量访问的好处还有:类可以改变变量的类型和名字来存储width和height而没有影响它的客户程序。

但是,在实际情况下,有时允许对对象变量直接访问。比如,通过定义Point类和Rectangle类为public,它们都允许对它们的成员变量自由访问。

JAVA编程语言提供了一个反问控制机制,凭它,类可以决定什么其它的类可以直接访问它的变量。如果其它对象对类直接操作可能导致无意义的话,类可以保护变量。改变这些变量应该利用方法调用来控制。如果类授权访问给它的变量,你可以检查和改变这些变量而但不能造成不利的效果。

[上一页] [下一页]