经典网站钢材网站建设
web/
2025/10/9 10:50:23/
文章来源:
经典网站,钢材网站建设,网站推广途径和要点,私人订制app软件1.Set函数 setter函数#xff0c;对成员变量赋值。Set函数的一般写法以对age操作为例#xff0c;写法为#xff1a; -(void)setAge:(int)newage。 2. Get函数 getter函数#xff0c;对成员变量取值。Get函数的一般写法也以对age的操作为例#xff0c;写法为#xff1a; -… 1.Set函数 setter函数对成员变量赋值。Set函数的一般写法以对age操作为例写法为 -(void)setAge:(int)newage。 2. Get函数 getter函数对成员变量取值。Get函数的一般写法也以对age的操作为例写法为 -(int)age; 3. 点运算符在OC的类对象中不能访问成员变量如dog.age5这里不是使用成员变量age而是调用成员方法setAge相当于给dog.age赋值时调用方法[dog setAge:5]。 NSLog(”%d”,dog.age); 这里也不是使用成员变量age而是调用成员方法age使用dog.age表达式的值时实际上就是调用成员方法age[dog age]。 “. ”不能调用成员变量只是调用set函数和get函数的一种简写。这里不能理解为定义了get函数和set函数就能调用成员变量因为将这两个函数不以一般形式书写时使用dog.age时就会报错。 4. property 和synthesize 定义set函数和get函数时我们会发现多个成员变量定义时会做许多重复的工作OC为了方便将这种方法封装起来我们可以使用property来声明set和get函数使用synthesize来实现set函数和get函数。同样以Dog类的成员变量age为例。 -(void)setAge:(int)newage; -(int)age; 这两个函数使用property可以写为 “property int age”这样大大减少了重复性工作。 声明后实现函数一般的实现方式为 -(void)setAge:(int)newage { agenewage; } -(int)age { return age; } 同样使用synthesize可以简化为“synthesize age;” 5. set和get函数的名称与变量名不同但同时使用点语法 1 函数与变量名不同使用property和synthesize property secondnum synthesize secondnumb 实现的时候关联声明的时候不用管。这时可以使用“对象.sencondnum”对b进行赋值和取值。 2 set函数和get函数名称不对应 将“property int d”改为“property (getter d1st) int d;” “synthesize d”不变赋值和调用时就不同了赋值时为“对象.d1”取值时就为“对象.d1st”。这里只是添加了一个新名不是代替原有的“对象.d1”但是[对象 setA]就不能使用了。 3 property(setterset2nd: ;getterd1st) int d; 这里将getter和setter函数都增加了新名字这里必须注意的是set函数的名字格式必须为“setXXXX:”一定不能忘记冒号用逗号隔开get函数这两个函数不分前后。 “synthesize d”不变。 4 property(readonly) int d; ()里的内容称为property的属性若属性为readonly则只声明get函数不声明set函数默认为readwrite。没有声明set函数synthesize就不会实现set函数。 6. 函数前的“”与“-” OC中常见函数名称前面常带有“”和“-”这里的加减号分别代表了不同的方法类型。 代表 函数为类的函数调用时用类名调用。 - 代表 函数为对象的函数调用时需用对象调用。 类没有空间没有成员变量的空间类的方法不能使用对象的成员变量。 用处 1 在没有对象的时候调用函数创建一个对象。 2 单例模式。可以看为全局变量的升级版。一个类的对象为其他类的所有对象所共有。下阶段深化 转载于:https://blog.51cto.com/rongchengfei/1082143
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89589.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!