面试题003:面向对象的特征 之 封装性

  • 封装性:将客观事物抽象成类,每个类可以把自身数据和方法只让可信的类或对象操作,对不可信的 进行信息隐藏。
  •  Java规定了4种权限修饰,分别是:private、缺省、protected、public。我们可以使用4种权限修饰来修饰类及类的内部成员。当这些成员被调用时,体现可见性的大小。
  •  封装性在程序中的体现:

        场景1:私有化(private)类的属性,提供公共(public)的get和set方法,对此属性进行获取或修改       

        场景2:将类中不需要对外暴露的方法,设置为private
        场景3:单例模式中构造器private的了,避免在类的外部创建实例。

  •  根据程序设计的原则之一,理论上类的内聚性要高,耦合度要低。

                高内聚:类的内部数据操作细节自己完成,不允许外部干涉 

                        (Java程序通常以类的形态呈现,相关的功能封装到方法中。)

                低耦合`:仅暴露少量的方法给外部使用,尽量方便外部调用。

                        (给相关的类、方法设置权限,把该隐藏的隐藏起来,该暴露的暴露出去)

  • 成员变量封装的好处:
           1. 通过事先预定的方法来访问数据 ,可以在该方法里面加入控制逻辑,限制对成员变量的不合理访问。
            2.还可以进行数据检查,有利于保证对象信息的完整性。
            3.便于修改 ,提高代码的可维护性。而且对于隐藏的部分来说,在内部修改后,如果访问方式不变,外部感觉不到修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值