面向对象: 就是将功能封装进对象,强调具备功能的对象
面向对象的三大特性 : 封装 、 继承 、多态
一、 对于封装的认知
封装:具体来说就是对类中的方法、变量进行一种保护,不被外界访问。
封装中的修饰符:public 、 default 、protected、 private 这几个访问权限是递减的。
一般我们都是将变量进行 private 进行私有化,再通过set方法来间接的改变类中的属性,我们可以在set方法中来限制传入的值,使我们的代码更加安全。
代码演示:
接下来来到.m 文件中进行实现
这里就能体现出封装的好处 ,在内部设置的判断语句可以使我们的代码跟安全。
在Xcode 中我们可以使用关键字@property 来让编译器自动完成这些代码
编译器会在. m 文件中自动生成代码
对自动生成的setter 方法不满意的话,我们也可以手动实现setter 方法,那么编译器就会自动生成getter 方法
编译器的原则是: 有就使用没有就自动生成。
总结: 我们在定义类的时候,哪些方法和成员不想暴露出去,我们就采用封装。