
objective-c类成员函数与成员变量的访问性问题 5
刚学objective-c不久,以前是学c++的,知道类的成员变量与成员函数有privatepublicprotected访问之分,但是我发现objective-c里默认...
刚学objective-c不久,以前是学c++ 的,知道类的成员变量与成员函数有 private public protected访问之分,但是我发现objective-c里默认的时候没有指定是什么访问方式。。。。但是个人推段不是private,那到底是protected还是public啊,如下例子,方便解释。。谢谢
#import <Cocoa/Cocoa.h>
@interface rectangle : NSObject
{
int width;
int height;
}
-(void)setWidth:(int)w andHeight:(int)h;
-(int)getWidth;
-(int)getHeight;
-(int)area;
@end 展开
#import <Cocoa/Cocoa.h>
@interface rectangle : NSObject
{
int width;
int height;
}
-(void)setWidth:(int)w andHeight:(int)h;
-(int)getWidth;
-(int)getHeight;
-(int)area;
@end 展开
5个回答
展开全部
oc 中的成员函数都是public 成员变量都是private
可以用存取器
举例:
@property (nonatomic)int width;
@synthesize width;
通过self.width = 5;
来设置你的宽
可以用存取器
举例:
@property (nonatomic)int width;
@synthesize width;
通过self.width = 5;
来设置你的宽
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
width和height默认是protected的,四个方法都是public方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法是没有访问级别的,跟ObjectiveC跟C(不是C++)是类似的。
C里面定义了方法,但是如果不给出声明,别人调用时候是找不到的(虽然自己声明一个一模一样的方法也可以)。ObjectiveC也是一样,所有方法都没有访问保护级别(@property属性也是方法的一种)
只有一种有访问级别,就是大括号里面定义的成员变量,里面有public和private,貌似是没有protected的概念(可能有,但是我完全不用的)。
ObjectiveC 2.0以上已经很少需要自己定义成员变量了。@synthesize指令能根据@property自动生成一个私有的成员变量。
C里面定义了方法,但是如果不给出声明,别人调用时候是找不到的(虽然自己声明一个一模一样的方法也可以)。ObjectiveC也是一样,所有方法都没有访问保护级别(@property属性也是方法的一种)
只有一种有访问级别,就是大括号里面定义的成员变量,里面有public和private,貌似是没有protected的概念(可能有,但是我完全不用的)。
ObjectiveC 2.0以上已经很少需要自己定义成员变量了。@synthesize指令能根据@property自动生成一个私有的成员变量。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
访问级别的ObjectiveC与C(C + +)是相似的。
C中定义的方法,但如果你不给个说法,也有人把未找到(虽然他也宣布以完全相同的方式)。的ObjectiveC相同的方法没有属性属性的方法只有一个级别的访问保护水平(一)
在大括号内定义的成员变量,有公共和私营部门似乎也没有受保护的概念(有可能是,但我不完全)。
的ObjectiveC 2.0很少需要定义一个成员变量。 @综合指令自动生成的私有成员变量@财产。
C中定义的方法,但如果你不给个说法,也有人把未找到(虽然他也宣布以完全相同的方式)。的ObjectiveC相同的方法没有属性属性的方法只有一个级别的访问保护水平(一)
在大括号内定义的成员变量,有公共和私营部门似乎也没有受保护的概念(有可能是,但我不完全)。
的ObjectiveC 2.0很少需要定义一个成员变量。 @综合指令自动生成的私有成员变量@财产。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
protected型的
错误使用时候编译器会提示的啊
错误使用时候编译器会提示的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询