笔试|面试:谈谈对封装性的理解,如何体现数据的封装性?
-
封装性的设计思想:通俗的讲,就是把该隐藏的隐藏起来,该暴露的暴露出来。
-
Java提供了4种权限修饰符,分别是 private,缺省(default),protected,public ,用这4种权限来修饰类及类的内部成员。当这些成员被调用时,体现可见性的大小(不同的权限体现 类及类的内部成员 被调用的范围的大小,即可见性的大小)。
-
封装性的应用场景举例:
场景1:私有化(private)类的属性,对外只提供(public)公共的get和set方法,对此属性进行获取或修改。
场景2:将类中不需要对外暴露的方法,设置为private。
场景3:单例模式中构造器private,避免在类的外部创建实例。 -
从程序设计的原则上来看,还符合程序设计的高内聚和低耦合的原则:
高内聚(对内):类的内部数据操作细节自己完成,不允许外部干涉(Java程序通常以类的形态呈现,相关的功能封装到方法中)
低耦合(对外):仅暴露少量的方法给外部使用,尽量方便外部调用(给相关的类,方法设置权限,把该隐藏的隐藏起来,该暴露的暴露出去)