十一级内容管理员 fanxiaochongg

OC对象可以作为函数参数传递给参数,以下简述对象参数在函数中的两种情况:
一、对象作为参数传递到函数中,在函数内部对此对象的参数会影响到外部传递进来的对象。
二、对象作为参数传递到函数中,在函数内部指向其它的对象后,再对此参数对象进行操作时,不影响外部传递进来的对象。
如下文中的例子,函数test1为情况一,函数test2为情况二。
#import &Foundation/Foundation.h&
//声明Car类继承自NSObject
@interface Car:NSObject
//声明run方法
@implementation Car
//实现run方法
- (void)run
//方法中的成员变量指当前对象的变量,即谁调用方法,访问的就是谁的成员变量
NSLog(@&%d个轮子,速度为%dkm/h的车子跑起来&,wheels,speed);
//传递一个Car类型的参数给test1函数
void test1(Car *newCar)
//通过对象修改成员
newCar-&wheels=5;
//传递一个Car类型的参数给test2函数
void test2(Car *newCar)
//声明一个新的对象
Car *c2=[Car new];
c2-&wheels=5;
c2-&speed=300;
//将参数变量指向新创建的对象。此操作过后,对参数指针变量的操作不影响外部传递进来的对象
newCar=c2;
newCar-&wheels=6;
int main()
//创建一个新的Car对象
Car *c=[Car new];
c-&wheels=4;
c-&speed=250;
//将新创建的对象传递给test2方法
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:17643次
排名:千里之外
原创:25篇
转载:21篇
(2)(1)(1)(1)(1)(10)(1)(9)(1)(1)(2)(1)(1)(5)(3)(7)显示评论详细内容
最新公告:
&&没有公告
您现在的位置:&&>>&&>>&发表评论
&评论主题:法律硕士联考考前集锦(考前冲刺版)专配音频(评论内容只代表网友观点)
共 250620 条评论&&& |
<font color="FF
|&20条评论/页&&转到第页【】
评论内容:
请遵守及中华人民共和国其他各项有关法律法规。
严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
本站管理员有权保留或删除评论内容。
评论内容只代表网友个人观点,与本网站立场无关。
本站所有资料归中国1考网所有。 站长:面向对象的三大特性:封装、继承和多态。其中,成员变量的封装非常常用。OC在这点上和C#本质上是一样的,都是用方法对字段进行封装。成员变量封装成属性的优点显而易见,都是不允许外界直接访问成员变量,而只能通过方法来进行访问。如果该成员变量不想被外界调用,只要不提供对外的接口就可以了。通过封装,可以限制外界对成员变量的读和写操作,以及对写set方法中的参数&#20540;进行过滤。下面是成员变量的封装规范:
一、成员变量
1.1 成员变量名一般以下划线开头
1.2 成员变量尽量不要用@public
二、get方法
&1、作用:返回对象内部的成员变量
&2、命名规范
&2.1 肯定有返回&#20540;,返回&#20540;类型肯定与成员变量类型一致
&2.2 方法名跟成员变量名一样
&2.3 不需要接收任何参数
三、set方法&
&1、作用:提供一个方法给外界设置成员变量&#20540;,可以在方法里面对参数进行相应过滤
&2、命名规范:
&2.1 方法名必须以set开头
&2.2 set后面跟上成员变量的名称,成员变量的首字母必须大写
&2.3 返回&#20540;一定是void
&2.4 一定要接收一个参数,而且参数类型跟成员变量类型一致
&2.5 形参的名称不能跟成员变量名一样
#import &Foundation/Foundation.h&
@interface Student:NSObject
//成员变量名以下划线开头
//只读:只允许外界访问我的no,不允许外界修改我的no
- (int)//获得学号
1、作用:返回对象内部的成员变量
2、命名规范
2.1 肯定有返回值,返回值类型肯定与成员变量类型一致
2.2 方法名跟成员变量名一样
2.3 不需要接收任何参数
- (int)//获得年龄
1、作用:提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤
2、命名规范:
2.1 方法名必须以set开头
2.2 set后面跟上成员变量的名称,成员变量的首字母必须大写
2.3 返回值一定是void
2.4 一定要接收一个参数,而且参数类型跟成员变量类型一致
2.5 形参的名称不能跟成员变量名一样
- (void)setAge:(int)//设置年龄
- (void)//学习方法
@implementation Student
- (int)no{
- (int)age{
- (void)setAge:(int)age{
//如果传递进来的参数小于或等于0,设置为1
if(age&=0){
- (void)study
NSLog(@&%d岁的学生在学习&,_age);
int main()
Student *stu=[Student new];
//设置学生的年龄属性
[stu setAge:20];
NSLog(@&学生的年龄是%d岁&,[stu age]);
[stu study];
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:17645次
排名:千里之外
原创:25篇
转载:21篇
(2)(1)(1)(1)(1)(10)(1)(9)(1)(1)(2)(1)(1)(5)(3)(7)

我要回帖

更多关于 fanxiaochong 的文章

 

随机推荐