33、面向对象-封装

一、封装什么

  • 数据的封装
  • 方法的封装

二、为什么要封装

  • 封装数据的主要原因是:保护隐私(作为男人的你,脸上就写着:我喜欢男人,你害怕么?)
  • 封装方法的主要原因是:隔离复杂度(你想开车,你需要知道汽车这么造出来的么?)

三、封装分为两个层面

1、概要

封装其实分为两个方面,但无论哪个方法的封装,都要对外界提供好访问你内部隐藏内容的方法

2、第一个层面的

  1. 说明
    创建类和对象会分别创建二者的名称空间,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种封装
  2. 注意
    对于这一层面的封装(隐藏),类名.和实例名.就是访问隐藏属性的

3、第二个层面的封装

  1. 说明
    类中把某些属性和方法隐藏起来(或者说定义成私有的),只在类的内部使用、外部无法访问,或者留下少量接口(方法)供外部访问
  2. 注意:
    对于这一层面的封装(隐藏),我们需要在类中定义一个方法或者通过特性property来解决,在它内部访问被隐藏的属性,然后外部就可以使用了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。