1.1 封装

本小节知识:

  1. 面向对象三大特性
  2. 什么是封装
  3. 为什么要进行封装?
  4. 封装的好处和原则

1.面向对象三大特性

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

2.什么是封装

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

3.为什么要进行封装?

  • 以下代码存在的问题?

// 1成员变量是public的,也就是公开的,我们不能控制外界如何赋值, 外界有可能赋值一些脏数据
@interface Gun : NSObject
{
    @public// 公开成员变量
    int _bulletCount;// 子弹数量
}
@end

// 可以利用封装来解决这个问题
// 封装:是指隐藏对象的属性和实现的细节,仅对外提供公共的访问方法
  • 类是数据与功能的封装,数据就是成员变量,功能就是类方法或对象方法

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

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

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


4.封装的好处

  • 好处

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,670评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,742评论 25 709
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,645评论 0 11
  • 两座城市之间的距离 用什么来衡量 最短 飞机的速度比不上 心与心 我和你 隔着千山万水 却也朝夕相对 远的 近的 ...
    梦枫飞阅读 2,844评论 0 1
  • 诗/伟伟 风 来了 静荡开 莫名其妙 深深的忧愁 也许是寂寞了 也许是不甘心了 就这样孤独着背影 走过广袤荒芜的心...
    大男人不霸道阅读 2,498评论 0 1

友情链接更多精彩内容