<a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流!
首先我先说明下点语法的形式
@interface Person : NSObject
{
int _age;
}
- (void)setAge:(int)age;
- (int)age
@end;
这是一个Person类的声明
有成员变量_age
set函数 get函数
声明个Person变量 Person *p = [Person new];
通常我们调用set函数的形式是这样 [p setAge:10];
调用get函数 int a = [p age];
但是这两种语法都可以用 p.age代替
p.age = 10 相当于[p setAge:10]
int a = p.age 相当于 int a = [p age];
点语法的设计无疑让编码的变的更简单
但我们要了解点语法与常用语法有什么关联
其实点语法会自动转换常用语法
p.age = 10 会自动转换为 [p setAge:10]
转换方法是这样的
p.age = 10 ,先确定点是在等号的左边还是右边 ,在左边的话即为set方法,在右边即为get方法。
set转换
点后面的字符串 首字母换为大写 前面加set 即setAge
然后将p加在前面 = 10 转换为 :10 整个字符串就变为了 p setAge:10 在加上括号
最后转为 [p setAge:10]
get转换
确定是get方法后 将p.age 的点 转为空格 p age 在加上括号 [p age]
在观看李明杰老师的视频过程中发现 老师对set get方法的命名方式是很固定的
成员变量 定义为 _xxx
set方法 统一命名为 setXxx Xxx跟变量名同名 只不过首字母大写
get方法 命名为 xxx 只不过比变量少了_下划线
在听完关于点语法的课程后 才明白 原来这样命名不仅仅是个好习惯 而且也跟语法设计有关系
<a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流!