属性的封装 setter 和 getter 方法
为什么要封装属性,为什么不能把成员变量设置为public?
/*
在实际的开发中,绝对不允许任何一个成员变量为public
所有的成员变量都必须不能够在外部直接使用—>的方法,因为这样做不能够保证我们数据的安全,很有可能出现脏数据(错误数据)
如果类内部的成员变量需要依赖外部传入值,那么我们就要提供对应的set方法供外部访问
*/
/*
setter 方法,是专门用来提供给外部进行属性赋值
<1.一定是对象方法
<2.一定没有返回值类型
<3.参数数据类型,一定与具体的成员变量数据类型相同
<4.一定以set开头,后面接成员变量的名称,驼峰命名规则
*/
/*
getter 方法,是专门用来提供给外部获取成员变量的值的接口
<1.一定是对象方法
<2.一定有返回值,并且返回值数据类型要与具体的成员变量的数据类型相同
<3.一定没有参数
<4.直接使用成员变量的名称命名
*/
点语法
// 点语法
/*
点语法不是直接访问成员变量,本质是转化成为相对应的getter和setter方法
*/
Gun *gun = [[Gun alloc]init];
// 直接访问成员变量
// gun->_bulletCount
gun.bulletCount = 200; // 即[gun setBulletCount:200];
NSLog(@"bulletCount:%d",gun.bulletCount); // 即[gun bulletCount];
属性封装和点语法
最新推荐文章于 2023-10-07 20:37:09 发布