本小节知识:
- 面向对象三大特性
- 什么是封装
- 为什么要进行封装?
- 封装的好处和原则
1.面向对象三大特性
- 封装性
- 继承性
- 多态性
2.什么是封装
- 封装性就是隐藏实现细节,,仅对外公开接口。
3.为什么要进行封装?
- 以下代码存在的问题?
// 1成员变量是public的,也就是公开的,我们不能控制外界如何赋值, 外界有可能赋值一些脏数据
@interface Gun : NSObject
{
@public// 公开成员变量
int _bulletCount;// 子弹数量
}
@end
// 可以利用封装来解决这个问题
// 封装:是指隐藏对象的属性和实现的细节,仅对外提供公共的访问方法
类是数据与功能的封装,数据就是成员变量,功能就是类方法或对象方法
对数据的封装,也就是对成员变量的封装
不封装的缺点:当一个类把自己的成员变量暴露给外部的时候,那么该类就失去对该成员变量的管理权,别人可以任意的修改你成员变量。
封装就是将数据隐藏起来,只能用此类的方法才可以读取或者设置数据,不可被外部任意修改是面向对象设计本质。降低了数据被误用的可能性! ,提高代码的灵活性
4.封装的好处
-
好处
- 将变化隔离
- 提高安全性
-
原则
- 将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共的方法对其访问