一、封装什么
- 数据的封装
- 方法的封装
二、为什么要封装
- 封装数据的主要原因是:保护隐私(作为男人的你,脸上就写着:我喜欢男人,你害怕么?)
- 封装方法的主要原因是:隔离复杂度(你想开车,你需要知道汽车这么造出来的么?)
三、封装分为两个层面
1、概要
封装其实分为两个方面,但无论哪个方法的封装,都要对外界提供好访问你内部隐藏内容的方法
2、第一个层面的
- 说明
创建类和对象会分别创建二者的名称空间,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种封装 - 注意
对于这一层面的封装(隐藏),类名.和实例名.就是访问隐藏属性的
3、第二个层面的封装
- 说明
类中把某些属性和方法隐藏起来(或者说定义成私有的),只在类的内部使用、外部无法访问,或者留下少量接口(方法)供外部访问 -
注意:
对于这一层面的封装(隐藏),我们需要在类中定义一个方法或者通过特性property来解决,在它内部访问被隐藏的属性,然后外部就可以使用了