美文网首页iOS基础学习
Objective-C基础学习之面向对象三大特性-封装

Objective-C基础学习之面向对象三大特性-封装

作者: WenJim | 来源:发表于2017-09-14 12:16 被阅读9次

    1.面向对象三大特性

    • 封装性
    • 继承性
    • 多态性

    2.什么是封装

    • 封装性就是隐藏实现细节,仅对外公开接口。

    3.为什么要进行封装?

    • 下面代码存在问题
    // 1成员变量是public的,也就是公开的,我们不能控制外界如何赋值, 外界有可能赋值一些垃圾数据,而我们又不能进行操作
    @interface Gun : NSObject
    {
        @public// 公开成员变量
        int _bulletCount;// 子弹数量
    }
    @end
    
    // 可以利用封装来解决这个问题
    // 封装:是指隐藏对象的属性和实现的细节,仅对外提供公共的访问方法
    
    • 类是数据与功能的封装,数据就是成员变量,功能就类方法或对象方法

    • 对数据的封装,也就是对成员变量的封装

    • 不封装的缺点:当一个类把自己的成员变量暴露给外部的时候,那么该类就失去对该成员变量的管理权,别人可以任意的修改你的成员变量。

    • 封装就是将数据隐藏起来,只能用此类的方法才可以读取或者设置数据,不可被外部任意修改是面向对象设计本质。这样降低了数据被误用的可能性 ,提高代码的灵活性!

    4.封装的好处

    • 好处

      • 将变化隔离
      • 提高安全性
    • 原则

      • 将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共的方法对其访问

    相关文章

      网友评论

        本文标题:Objective-C基础学习之面向对象三大特性-封装

        本文链接:https://www.haomeiwen.com/subject/dwocsxtx.html