Java学习笔记11:在公共类中使用访问方法而非公有域

来源:互联网 发布:重庆网络品牌建设平台 编辑:程序博客网 时间:2024/06/07 13:30

在Java中,有一种被开发人员唾弃的类:退化类(degenerate class)。退化类就是一些集中实例域但是没有任何行为的类,下面就是一个退化类:

class Point{public double x;public double y;}

我们暂且不说退化类的问题,从这个Point类中,我们可以看到,它的数据域是可以直接访问的,而没有提供封装的功能。嗯,没错,问题就在这里。

从面相对象设计思想的角度来说,如果类可以再它所在的包外部进行访问,那么,就应该为它的数据域提供访问方法。这样有个好处:可以保留将来改变类的内部表示法的灵活性。如果一个public类暴露了它的数据域,要想再将来改变其内部表示法,是不可能的,因为它的客户端已经遍布各处了。

0 0
原创粉丝点击